Weighing: Add SetDateAndTime()
All checks were successful
Test / Run tests (push) Successful in 2m22s

This commit is contained in:
2024-08-24 13:54:59 +02:00
parent bec1b165bf
commit cd2b482b5a
5 changed files with 33 additions and 0 deletions

View File

@ -118,5 +118,9 @@ namespace Elwig.Helpers.Weighing {
public async Task RevokeFillingClearance() {
await SetFillingClearance(false);
}
public Task SetDateAndTime(DateTime dateTime) {
throw new NotImplementedException("Für Waagen vom Typ 'Gassner' ist diese Funktion noch nicht implementiert");
}
}
}

View File

@ -1,3 +1,4 @@
using System;
using System.Threading.Tasks;
namespace Elwig.Helpers.Weighing {
@ -31,5 +32,10 @@ namespace Elwig.Helpers.Weighing {
/// Revoke clearance to fill the scale container
/// </summary>
Task RevokeFillingClearance();
/// <summary>
/// Try to set date and time on the scale
/// </summary>
Task SetDateAndTime(DateTime dateTime);
}
}

View File

@ -161,5 +161,10 @@ namespace Elwig.Helpers.Weighing {
public async Task RevokeFillingClearance() {
await SetFillingClearance(false);
}
public async Task SetDateAndTime(DateTime dateTime) {
await SendCommand($"ST{dateTime:dd.MM.yyHH:mm:ss}");
await ReceiveResponse();
}
}
}

View File

@ -25,6 +25,9 @@
<MenuItem Header="Abfragen stellen" Click="Menu_Database_Query_Click"/>
<MenuItem Header="Speicherort öffnen..." Click="Menu_Database_Open_Click"/>
</MenuItem>
<MenuItem Header="Waagen">
<MenuItem Header="Datum und Uhrzeit setzen" Click="Menu_Scales_SetDateTime_Click"/>
</MenuItem>
<MenuItem x:Name="HelpMenu" Header="Hilfe">
<MenuItem Header="Über"/>
<MenuItem x:Name="Menu_Help_Update" Header="Nach Updates suchen" Click="Menu_Help_Update_Click"/>

View File

@ -90,6 +90,21 @@ namespace Elwig.Windows {
} catch { }
}
private async void Menu_Scales_SetDateTime_Click(object sender, RoutedEventArgs evt) {
if (App.CommandScales.Count == 0) {
MessageBox.Show("Es sind keine geeigneten Waagen verfügbar!", "Datum und Uhrzeit setzen", MessageBoxButton.OK, MessageBoxImage.Error);
return;
}
foreach (var s in App.CommandScales) {
try {
await s.SetDateAndTime(DateTime.Now);
} catch (Exception exc) {
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
MessageBox.Show("Datum und Uhrzeit auf entsprechenden Waagen gesetzt!", "Datum und Uhrzeit setzen", MessageBoxButton.OK, MessageBoxImage.Information);
}
private void Menu_Database_Query_Click(object sender, RoutedEventArgs evt) {
var w = new QueryWindow();
w.Show();