Change scale interface

This commit is contained in:
2023-08-09 23:13:05 +02:00
parent 91a20662da
commit e1630e9919
7 changed files with 20 additions and 14 deletions

View File

@ -27,7 +27,7 @@ namespace Elwig {
public static string? BranchPhoneNr { get; private set; }
public static string? BranchFaxNr { get; private set; }
public static string? BranchMobileNr { get; private set; }
public static IEnumerable<IScale> Scales { get; private set; }
public static IList<IScale> Scales { get; private set; }
public static ClientParameters Client { get; private set; }
public static bool IsPrintingReady => Documents.Html.IsReady && Documents.Pdf.IsReady;
@ -69,10 +69,10 @@ namespace Elwig {
Client = new();
var list = new LinkedList<IScale>();
var list = new List<IScale>();
foreach (var s in Config.Scales) {
try {
var scaleNr = int.Parse(s[0]);
var id = s[0];
var type = s[1].ToLower();
var model = s[2];
var cnx = s[3];
@ -80,7 +80,7 @@ namespace Elwig {
var filling = s[5];
int? limit = s[6] == null ? null : int.Parse(s[6]);
if (type == "systec") {
list.AddLast(new SystecScale(scaleNr, model, cnx, empty, filling, limit));
list.Add(new SystecScale(id, model, cnx, empty, filling, limit));
} else {
throw new ArgumentException($"Invalid scale type: \"{type}\"");
}

View File

@ -14,13 +14,13 @@ namespace Elwig.Helpers.Weighing {
public string Manufacturer => "Gassner";
public int InternalScaleNr => 1;
public string Model { get; private set; }
public int ScaleNr { get; private set; }
public string ScaleId { get; private set; }
public bool IsReady { get; private set; }
public bool HasFillingClearance { get; private set; }
public int? WeightLimit { get; private set; }
public GassnerScale(int scaleNr, string model, string connection) {
ScaleNr = scaleNr;
public GassnerScale(string id, string model, string connection) {
ScaleId = id;
Model = model;
IsReady = true;
HasFillingClearance = false;

View File

@ -17,9 +17,9 @@ namespace Elwig.Helpers.Weighing {
string Model { get; }
/// <summary>
/// Unique number of the scale
/// Unique identificator of the scale
/// </summary>
int ScaleNr { get; }
string ScaleId { get; }
/// <summary>
/// Internal identifying number of the scale in its system

View File

@ -7,7 +7,7 @@ namespace Elwig.Helpers.Weighing {
public string Manufacturer => "Schember";
public string Model => throw new NotImplementedException();
public int ScaleNr => throw new NotImplementedException();
public string ScaleId => throw new NotImplementedException();
public int InternalScaleNr => throw new NotImplementedException();
public bool IsReady => throw new NotImplementedException();
public bool HasFillingClearance => throw new NotImplementedException();

View File

@ -22,13 +22,13 @@ namespace Elwig.Helpers.Weighing {
public string Manufacturer => "SysTec";
public int InternalScaleNr => 1;
public string Model { get; private set; }
public int ScaleNr { get; private set; }
public string ScaleId { get; private set; }
public bool IsReady { get; private set; }
public bool HasFillingClearance { get; private set; }
public int? WeightLimit { get; private set; }
public SystecScale(int scaleNr, string model, string connection, string? empty = null, string? fill = null, int? limit = null) {
ScaleNr = scaleNr;
public SystecScale(string id, string model, string connection, string? empty = null, string? fill = null, int? limit = null) {
ScaleId = id;
Model = model;
IsReady = true;
HasFillingClearance = false;

View File

@ -22,5 +22,11 @@ namespace Elwig.Helpers.Weighing {
/// Time string provided by the scale
/// </summary>
public string? Time = null;
/// <returns>&lt;Weight/WeighingId/Date/Time&gt;</returns>
override public string ToString() {
var w = Weight != null ? $"{Weight}kg" : "";
return $"<{w}/{WeighingId}/{Date}/{Time}>";
}
}
}

View File

@ -54,7 +54,7 @@ namespace Elwig.Windows {
if (IsReceipt) {
Title = "Übernahme - Elwig";
TodayOnlyInput.IsChecked = true;
var n = App.Scales.Count();
var n = App.Scales.Count;
if (n < 1) WeighingAButton.Visibility = Visibility.Hidden;
if (n < 2) WeighingBButton.Visibility = Visibility.Hidden;
if (n < 3) WeighingCButton.Visibility = Visibility.Hidden;