Weighing: Restructure class structure

This commit is contained in:
2024-02-21 12:57:55 +01:00
parent 7ff069d068
commit 99ca12b276
6 changed files with 161 additions and 104 deletions

View File

@ -63,7 +63,7 @@ namespace Elwig {
Directory.CreateDirectory(TempPath);
Directory.CreateDirectory(DataPath);
MainDispatcher = Dispatcher;
Scales = Array.Empty<IScale>();
Scales = [];
CurrentApp = this;
OverrideCulture();
}
@ -96,7 +96,7 @@ namespace Elwig {
return;
}
Dictionary<string, (string, string, int?, string?, string?, string?, string?, string?)> branches = new();
Dictionary<string, (string, string, int?, string?, string?, string?, string?, string?)> branches = [];
using (var ctx = new AppDbContext()) {
branches = ctx.Branches.ToDictionary(b => b.Name.ToLower(), b => (b.ZwstId, b.Name, b.PostalDest?.AtPlz?.Plz, b.PostalDest?.AtPlz?.Ort.Name, b.Address, b.PhoneNr, b.FaxNr, b.MobileNr));
try {
@ -115,23 +115,11 @@ namespace Elwig {
var list = new List<IScale>();
foreach (var s in Config.Scales) {
var id = s[0];
try {
var type = s[1]?.ToLower();
var model = s[2];
var cnx = s[3];
var empty = s[4];
var filling = s[5];
int? limit = s[6] == null ? null : int.Parse(s[6]);
var log = s[7];
if (type == "systec") {
list.Add(new SystecScale(id, model, cnx, empty, filling, limit, log));
} else {
throw new ArgumentException($"Invalid scale type: \"{type}\"");
}
list.Add(Scale.FromConfig(s));
} catch (Exception e) {
list.Add(new InvalidScale(id));
MessageBox.Show($"Unable to create scale {s[0]}:\n\n{e.Message}", "Scale Error", MessageBoxButton.OK, MessageBoxImage.Error);
list.Add(new InvalidScale(s.Id));
MessageBox.Show($"Unable to create scale {s.Id}:\n\n{e.Message}", "Scale Error", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
Scales = list;