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

View File

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

View File

@ -17,9 +17,9 @@ namespace Elwig.Helpers.Weighing {
string Model { get; } string Model { get; }
/// <summary> /// <summary>
/// Unique number of the scale /// Unique identificator of the scale
/// </summary> /// </summary>
int ScaleNr { get; } string ScaleId { get; }
/// <summary> /// <summary>
/// Internal identifying number of the scale in its system /// 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 Manufacturer => "Schember";
public string Model => throw new NotImplementedException(); 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 int InternalScaleNr => throw new NotImplementedException();
public bool IsReady => throw new NotImplementedException(); public bool IsReady => throw new NotImplementedException();
public bool HasFillingClearance => throw new NotImplementedException(); public bool HasFillingClearance => throw new NotImplementedException();

View File

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

View File

@ -22,5 +22,11 @@ namespace Elwig.Helpers.Weighing {
/// Time string provided by the scale /// Time string provided by the scale
/// </summary> /// </summary>
public string? Time = null; 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) { if (IsReceipt) {
Title = "Übernahme - Elwig"; Title = "Übernahme - Elwig";
TodayOnlyInput.IsChecked = true; TodayOnlyInput.IsChecked = true;
var n = App.Scales.Count(); var n = App.Scales.Count;
if (n < 1) WeighingAButton.Visibility = Visibility.Hidden; if (n < 1) WeighingAButton.Visibility = Visibility.Hidden;
if (n < 2) WeighingBButton.Visibility = Visibility.Hidden; if (n < 2) WeighingBButton.Visibility = Visibility.Hidden;
if (n < 3) WeighingCButton.Visibility = Visibility.Hidden; if (n < 3) WeighingCButton.Visibility = Visibility.Hidden;