From 723722ba47141460cae9044d20d2b90f168bf34d Mon Sep 17 00:00:00 2001 From: Elias Fierke Date: Thu, 15 Jan 2026 11:21:08 +0100 Subject: [PATCH] [chore:] introducing KasPerson.id (refsid remains but isn't used in the mgmt-backend anymore) --- DataImport.cs | 55 +++--- DataStructures.cs | 16 +- ResultWindow.axaml.cs | 16 +- Tasks/AddressCheck.cs | 380 +++++++++++++++++++------------------- Tasks/AddressCreation.cs | 4 +- Tasks/CombineAddresses.cs | 50 ++--- Tasks/PdfBuilder.cs | 2 +- 7 files changed, 268 insertions(+), 255 deletions(-) diff --git a/DataImport.cs b/DataImport.cs index bfcd2b4..e8f6464 100644 --- a/DataImport.cs +++ b/DataImport.cs @@ -32,7 +32,8 @@ public class DataImport return (false, null); } - var imported = new KasAddressList(KasAddressList.GenerateName(Path.GetFileNameWithoutExtension(pathToCsv.LocalPath))); + var imported = + new KasAddressList(KasAddressList.GenerateName(Path.GetFileNameWithoutExtension(pathToCsv.LocalPath))); while (!reader.EndOfStream) { @@ -50,7 +51,7 @@ public class DataImport try { - var person = new KasPerson( + var person = new KasPerson(KasPerson.GenerateNewID(imported.KasPersons.Count), ParseInt(parts[0]), parts[1], parts[2], @@ -108,7 +109,8 @@ public class DataImport var headers = headerLine.Split(separator).Select(h => h.Trim()).ToArray(); - var imported = new KasAddressList(KasAddressList.GenerateName(Path.GetFileNameWithoutExtension(pathToCsv.LocalPath))); + var imported = + new KasAddressList(KasAddressList.GenerateName(Path.GetFileNameWithoutExtension(pathToCsv.LocalPath))); var patchType = typeof(AddressPatch); var binding = BindingFlags.Public | BindingFlags.Instance | BindingFlags.IgnoreCase; @@ -116,7 +118,7 @@ public class DataImport .Where(p => p.PropertyType == typeof(bool) && p.Name.StartsWith("has_", StringComparison.OrdinalIgnoreCase)) .ToArray(); - var last_refsid = 1000000; + //var last_refsid = 1000000; while (!reader.EndOfStream) { @@ -128,12 +130,12 @@ public class DataImport var fieldValues = new Dictionary(StringComparer.OrdinalIgnoreCase); - var refsid_existing = false; + //var refsid_existing = false; foreach (var hasProp in hasProperties) { var fieldName = hasProp.Name.Substring(4); - + var hasObj = hasProp.GetValue(patch); var has = hasObj is bool b && b; @@ -161,7 +163,7 @@ public class DataImport var altIdx = Array.FindIndex(headers, h => string.Equals(h, fieldName, StringComparison.OrdinalIgnoreCase) || string.Equals(h, fieldName + "_is", StringComparison.OrdinalIgnoreCase)); - + if (altIdx >= 0 && altIdx < parts.Length) resolvedValue = parts[altIdx]; else @@ -177,16 +179,13 @@ public class DataImport return fieldValues.TryGetValue(name, out var v) ? v : ""; } - var new_refsid = last_refsid; - if (!patch.has_refsid) - new_refsid = GenerateNewRefsid(); - else - new_refsid = ParseInt(GetField("refsid")); + var refsid = 0; + if (patch.has_refsid) + refsid = ParseInt(GetField("refsid")); try { - var person = new KasPerson( - new_refsid, + var person = new KasPerson(KasPerson.GenerateNewID(imported.KasPersons.Count), refsid, GetField("anrede"), GetField("titel"), GetField("vorname"), @@ -224,23 +223,17 @@ public class DataImport return (true, imported); - int GenerateNewRefsid() - { - - int biggest = last_refsid; - foreach (var set in Settings._instance.addressSets.addresses) - { - foreach (var address in set.KasPersons) - { - if (biggest < address.refsid) - { - biggest = address.refsid+1; - } - } - } - last_refsid = biggest+1; - return last_refsid; - } + // int GenerateNewRefsid() + // { + // var biggest = last_refsid; + // foreach (var set in Settings._instance.addressSets.addresses) + // foreach (var address in set.KasPersons) + // if (biggest < address.id) + // biggest = address.id + 1; + // + // last_refsid = biggest + 1; + // return last_refsid; + // } } diff --git a/DataStructures.cs b/DataStructures.cs index ceeb558..275f072 100644 --- a/DataStructures.cs +++ b/DataStructures.cs @@ -62,6 +62,7 @@ public class KasPerson public KasPerson() { + id = GenerateNewID(0); refsid = 0; anrede = ""; titel = ""; @@ -88,7 +89,7 @@ public class KasPerson funktionad = ""; } - public KasPerson(int refsid, + public KasPerson(int id, int refsid, string anrede, string titel, string vorname, @@ -113,6 +114,7 @@ public class KasPerson string abteilung, string funktionad) { + this.id = id; this.refsid = refsid; this.anrede = anrede; this.titel = titel; @@ -139,6 +141,7 @@ public class KasPerson this.funktionad = funktionad; } + public int id { get; set; } public int refsid { get; set; } public string anrede { get; set; } public string titel { get; set; } @@ -163,6 +166,17 @@ public class KasPerson public string funktion2 { get; set; } public string abteilung { get; set; } public string funktionad { get; set; } + + public static int GenerateNewID(int base_id) + { + var newid = 100000 + base_id; + foreach (var set in Settings._instance.addressSets.addresses) + foreach (var add in set.KasPersons) + if (add.id >= newid) + newid = add.id + 1; + + return newid; + } } public class KasPersonError diff --git a/ResultWindow.axaml.cs b/ResultWindow.axaml.cs index 271f16b..6e1da78 100644 --- a/ResultWindow.axaml.cs +++ b/ResultWindow.axaml.cs @@ -46,13 +46,13 @@ public partial class ResultWindow : Window Background = new SolidColorBrush(Color.Parse("#F0F0F0")) }; - // Refsid + // ID grid.Children.Add(new TextBlock { - Text = "refsid: ", + Text = "id: ", FontWeight = FontWeight.Bold, Margin = new Thickness(5) }); - grid.Children.Add(new TextBlock { Text = person.refsid.ToString(), Margin = new Thickness(5) }); + grid.Children.Add(new TextBlock { Text = person.id.ToString(), Margin = new Thickness(5) }); Grid.SetColumn(grid.Children[1], 1); // PLZ @@ -70,10 +70,10 @@ public partial class ResultWindow : Window return grid; } - private void ViewSingle(int refsid) + private void ViewSingle(int id) { foreach (var result in ur_addresses.KasPersons) - if (result.refsid == refsid) + if (result.id == id) { var wind = new Window(); var stp = new StackPanel(); @@ -82,8 +82,8 @@ public partial class ResultWindow : Window var tb = new TextBlock(); var tb2 = new TextBlock(); tb.Text = - "refsid:\nanrede:\ntitel:\nvorname:\nadel:\nname:\nnamezus:\nanredzus:\nstrasse:\nstrasse2:\nplz:\nort:\nland:\npplz:\npostfach:\nname1:\nname2:\nname3:\nname4:\nname5:\nfunktion:\nfunktion2:\nabteilung:\nfunktionad:"; - tb2.Text = result.refsid + "\n" + result.anrede + "\n" + result.titel + "\n" + result.vorname + "\n" + + "id:\nanrede:\ntitel:\nvorname:\nadel:\nname:\nnamezus:\nanredzus:\nstrasse:\nstrasse2:\nplz:\nort:\nland:\npplz:\npostfach:\nname1:\nname2:\nname3:\nname4:\nname5:\nfunktion:\nfunktion2:\nabteilung:\nfunktionad:"; + tb2.Text = result.id + "\n" + result.anrede + "\n" + result.titel + "\n" + result.vorname + "\n" + result.adel + "\n" + result.name + "\n" + result.namezus + "\n" + result.anredzus + "\n" + result.strasse + "\n" + result.strasse2 + "\n" + result.plz + "\n" + result.ort + "\n" + result.land + "\n" + result.pplz + "\n" + result.postfach + "\n" + result.name1 + "\n" + @@ -212,7 +212,7 @@ public partial class ResultWindow : Window // try // { // var _asKas = (KasPerson)selected; - // ViewSingle(_asKas.refsid); + // ViewSingle(_asKas.id); // } // catch (Exception ex) // { diff --git a/Tasks/AddressCheck.cs b/Tasks/AddressCheck.cs index 3cc96e8..5e7e455 100644 --- a/Tasks/AddressCheck.cs +++ b/Tasks/AddressCheck.cs @@ -63,199 +63,199 @@ public class AddressCheck var address_component_count = 2; // cause anrede and name are first - // PLZ-Prüfung - if (person.plz == "" || person.plz == null) - { - hasFaults = true; - warnings.Add(WarningTypes.NoPLZ); - } - else - { - if (!AddressCreator.CheckPLZ(person.plz, person.land)) - { - hasFaults = true; - errors.Add(ErrorTypes.PlzNotUsable); - } - // if ((person.plz < 10000 && string.IsNullOrWhiteSpace(person.land)) || - // (person.plz < 10000 && person.land == "GER") || - // (person.plz < 10000 && person.land == "DE")) - // { - // hasFaults = true; - // errors.Add(ErrorTypes.PlzTooShort); - // } - // else if ((person.plz > 99999 && string.IsNullOrWhiteSpace(person.land)) || - // (person.plz > 99999 && person.land == "GER") || - // (person.plz > 99999 && person.land == "DE")) - // { - // hasFaults = true; - // errors.Add(ErrorTypes.PlzTooLong); - // } - } - - - // PPLZ-Prüfung - if (person.pplz == "" || person.pplz == null) - { - hasFaults = true; - warnings.Add(WarningTypes.NoPPLZ); - } - else - { - if (!AddressCreator.CheckPLZ(person.pplz, person.land)) - { - hasFaults = true; - errors.Add(ErrorTypes.PPlzNotUsable); - } - - // if ((person.pplz < 10000 && string.IsNullOrWhiteSpace(person.land)) || - // (person.pplz < 10000 && person.land == "GER") || - // (person.pplz < 10000 && person.land == "DE")) - // { - // hasFaults = true; - // errors.Add(ErrorTypes.PPlzTooShort); - // } - // else if ((person.pplz > 99999 && string.IsNullOrWhiteSpace(person.land)) || - // (person.pplz > 99999 && person.land == "GER") || - // (person.pplz > 99999 && person.land == "DE")) - // { - // hasFaults = true; - // errors.Add(ErrorTypes.PPlzTooLong); - // } - } - - if (warnings.Contains(WarningTypes.NoPLZ) && warnings.Contains(WarningTypes.NoPPLZ)) - { - hasFaults = true; - errors.Add(ErrorTypes.NoPLZorPPLZ); - } - - // Ort-Prüfung - if (string.IsNullOrWhiteSpace(person.ort)) - { - hasFaults = true; - warnings.Add(WarningTypes.NoCity); - } - else - { - address_component_count++; - } - - // Street-Number - var street = person.strasse.ToCharArray(); - var intcount = 0; - foreach (var c in street) - { - int maybe; - if (int.TryParse(c.ToString(), out maybe)) intcount++; - } - - if (intcount == 0) - { - hasFaults = true; - warnings.Add(WarningTypes.NoStreetNumber); - } - - // Last-Name - if (string.IsNullOrWhiteSpace(person.name)) - { - hasFaults = true; - warnings.Add(WarningTypes.NoLastName); - } - - // First-Name - if (string.IsNullOrWhiteSpace(person.vorname)) - { - hasFaults = true; - warnings.Add(WarningTypes.NoFirstName); - } - - // Street-Check - if (string.IsNullOrWhiteSpace(person.strasse)) - { - hasFaults = true; - warnings.Add(WarningTypes.NoStreet); - } - else - { - address_component_count++; - } - - // Address-Component-Count - if (!string.IsNullOrWhiteSpace(person.strasse2)) address_component_count++; - if (!string.IsNullOrWhiteSpace(person.land)) address_component_count++; - if (!string.IsNullOrWhiteSpace(person.name1)) address_component_count++; - if (!string.IsNullOrWhiteSpace(person.name2)) address_component_count++; - if (!string.IsNullOrWhiteSpace(person.name3)) address_component_count++; - if (!string.IsNullOrWhiteSpace(person.name4)) address_component_count++; - if (!string.IsNullOrWhiteSpace(person.name5)) address_component_count++; - if (!string.IsNullOrWhiteSpace(person.funktion)) address_component_count++; - if (!string.IsNullOrWhiteSpace(person.funktion2)) address_component_count++; - if (!string.IsNullOrWhiteSpace(person.funktionad)) address_component_count++; - if (!string.IsNullOrWhiteSpace(person.abteilung)) address_component_count++; - - // Double-Refsid or DoubleAddresses - foreach (var person2 in adset.KasPersons) - { - if (adset.KasPersons.IndexOf(person) == adset.KasPersons.IndexOf(person2)) continue; - - if (person.refsid == person2.refsid) // trifft auf Patch-Addressen nicht zu - { - hasFaults = true; - warnings.Add(WarningTypes.DoubledRefsid); - } - - if (person.name == person2.name && - person.strasse == person2.strasse && - person.vorname == person2.vorname && - person.ort == person2.ort && - person.funktion == person2.funktion && - person.funktion2 == person2.funktion2 && - person.funktionad == person2.funktionad && - person.abteilung == person2.abteilung && - person.name1 == person2.name1 && - person.name2 == person2.name2 && - person.name3 == person2.name3 && - person.name4 == person2.name4 && - person.name5 == person2.name5) // - - { - hasFaults = true; - errors.Add(ErrorTypes.MayBeSameAddress); - } - } - - // Adressen-Länge - if (address_component_count > 10) - { - hasFaults = true; - warnings.Add(WarningTypes.FullAddressTooLong); - } - - if (hasFaults) - lock (Settings._instance.addressSets.addresses) - { - // Directly set PersonError in the address set - var person_index = adset.KasPersons.IndexOf(person); - if (person_index >= 0) - Settings._instance.addressSets.addresses[adset_index].KasPersons[person_index].PersonError = - new KasPersonError((errors, warnings)); - } - - // Fortschritt aktualisieren - Interlocked.Increment(ref current); - var percent = current / (double)total * 100; - await Dispatcher.UIThread.InvokeAsync(() => - { - if (hasFaults) - _progress.AddToLog($"Person mit refsid {person.refsid} ist fehlerhaft"); - - _progress.ChangePercentage(percent); - }); + // PLZ-Prüfung + if (person.plz == "" || person.plz == null) + { + hasFaults = true; + warnings.Add(WarningTypes.NoPLZ); + } + else + { + if (!AddressCreator.CheckPLZ(person.plz, person.land)) + { + hasFaults = true; + errors.Add(ErrorTypes.PlzNotUsable); } + // if ((person.plz < 10000 && string.IsNullOrWhiteSpace(person.land)) || + // (person.plz < 10000 && person.land == "GER") || + // (person.plz < 10000 && person.land == "DE")) + // { + // hasFaults = true; + // errors.Add(ErrorTypes.PlzTooShort); + // } + // else if ((person.plz > 99999 && string.IsNullOrWhiteSpace(person.land)) || + // (person.plz > 99999 && person.land == "GER") || + // (person.plz > 99999 && person.land == "DE")) + // { + // hasFaults = true; + // errors.Add(ErrorTypes.PlzTooLong); + // } + } + + + // PPLZ-Prüfung + if (person.pplz == "" || person.pplz == null) + { + hasFaults = true; + warnings.Add(WarningTypes.NoPPLZ); + } + else + { + if (!AddressCreator.CheckPLZ(person.pplz, person.land)) + { + hasFaults = true; + errors.Add(ErrorTypes.PPlzNotUsable); + } + + // if ((person.pplz < 10000 && string.IsNullOrWhiteSpace(person.land)) || + // (person.pplz < 10000 && person.land == "GER") || + // (person.pplz < 10000 && person.land == "DE")) + // { + // hasFaults = true; + // errors.Add(ErrorTypes.PPlzTooShort); + // } + // else if ((person.pplz > 99999 && string.IsNullOrWhiteSpace(person.land)) || + // (person.pplz > 99999 && person.land == "GER") || + // (person.pplz > 99999 && person.land == "DE")) + // { + // hasFaults = true; + // errors.Add(ErrorTypes.PPlzTooLong); + // } + } + + if (warnings.Contains(WarningTypes.NoPLZ) && warnings.Contains(WarningTypes.NoPPLZ)) + { + hasFaults = true; + errors.Add(ErrorTypes.NoPLZorPPLZ); + } + + // Ort-Prüfung + if (string.IsNullOrWhiteSpace(person.ort)) + { + hasFaults = true; + warnings.Add(WarningTypes.NoCity); + } + else + { + address_component_count++; + } + + // Street-Number + var street = person.strasse.ToCharArray(); + var intcount = 0; + foreach (var c in street) + { + int maybe; + if (int.TryParse(c.ToString(), out maybe)) intcount++; + } + + if (intcount == 0) + { + hasFaults = true; + warnings.Add(WarningTypes.NoStreetNumber); + } + + // Last-Name + if (string.IsNullOrWhiteSpace(person.name)) + { + hasFaults = true; + warnings.Add(WarningTypes.NoLastName); + } + + // First-Name + if (string.IsNullOrWhiteSpace(person.vorname)) + { + hasFaults = true; + warnings.Add(WarningTypes.NoFirstName); + } + + // Street-Check + if (string.IsNullOrWhiteSpace(person.strasse)) + { + hasFaults = true; + warnings.Add(WarningTypes.NoStreet); + } + else + { + address_component_count++; + } + + // Address-Component-Count + if (!string.IsNullOrWhiteSpace(person.strasse2)) address_component_count++; + if (!string.IsNullOrWhiteSpace(person.land)) address_component_count++; + if (!string.IsNullOrWhiteSpace(person.name1)) address_component_count++; + if (!string.IsNullOrWhiteSpace(person.name2)) address_component_count++; + if (!string.IsNullOrWhiteSpace(person.name3)) address_component_count++; + if (!string.IsNullOrWhiteSpace(person.name4)) address_component_count++; + if (!string.IsNullOrWhiteSpace(person.name5)) address_component_count++; + if (!string.IsNullOrWhiteSpace(person.funktion)) address_component_count++; + if (!string.IsNullOrWhiteSpace(person.funktion2)) address_component_count++; + if (!string.IsNullOrWhiteSpace(person.funktionad)) address_component_count++; + if (!string.IsNullOrWhiteSpace(person.abteilung)) address_component_count++; + + // Double-Refsid or DoubleAddresses + foreach (var person2 in adset.KasPersons) + { + if (adset.KasPersons.IndexOf(person) == adset.KasPersons.IndexOf(person2)) continue; + + if (person.refsid == person2.refsid) // trifft auf Patch-Addressen nicht zu + { + hasFaults = true; + warnings.Add(WarningTypes.DoubledRefsid); + } + + if (person.name == person2.name && + person.strasse == person2.strasse && + person.vorname == person2.vorname && + person.ort == person2.ort && + person.funktion == person2.funktion && + person.funktion2 == person2.funktion2 && + person.funktionad == person2.funktionad && + person.abteilung == person2.abteilung && + person.name1 == person2.name1 && + person.name2 == person2.name2 && + person.name3 == person2.name3 && + person.name4 == person2.name4 && + person.name5 == person2.name5) // + + { + hasFaults = true; + errors.Add(ErrorTypes.MayBeSameAddress); + } + } + + // Adressen-Länge + if (address_component_count > 10) + { + hasFaults = true; + warnings.Add(WarningTypes.FullAddressTooLong); + } + + if (hasFaults) + lock (Settings._instance.addressSets.addresses) + { + // Directly set PersonError in the address set + var person_index = adset.KasPersons.IndexOf(person); + if (person_index >= 0) + Settings._instance.addressSets.addresses[adset_index].KasPersons[person_index].PersonError = + new KasPersonError((errors, warnings)); + } + + // Fortschritt aktualisieren + Interlocked.Increment(ref current); + var percent = current / (double)total * 100; + await Dispatcher.UIThread.InvokeAsync(() => + { + if (hasFaults) + _progress.AddToLog($"Person mit id {person.id} ist fehlerhaft"); + + _progress.ChangePercentage(percent); }); - + } + }); + Settings.Save(); - + // Return only the persons with errors from the address set return Settings._instance.addressSets.addresses[adset_index].KasPersons .Where(p => p.PersonError != null) diff --git a/Tasks/AddressCreation.cs b/Tasks/AddressCreation.cs index faccf68..e1f3105 100644 --- a/Tasks/AddressCreation.cs +++ b/Tasks/AddressCreation.cs @@ -40,7 +40,7 @@ public static class AddressCreator /// /// KasPerson-ID /// A Markdown string with the address that is maximum seven lines long - public static string? CreateFinalMarkdownString(int refsid) + public static string? CreateFinalMarkdownString(int id) { // Maximum seven lines of information @@ -50,7 +50,7 @@ public static class AddressCreator var address_line_count = 0; foreach (var set in Settings._instance.addressSets.addresses) { - var temp = set.KasPersons.FirstOrDefault(obj => obj.refsid == refsid); + var temp = set.KasPersons.FirstOrDefault(obj => obj.id == id); if (temp != null) { address = temp; diff --git a/Tasks/CombineAddresses.cs b/Tasks/CombineAddresses.cs index 2dfe600..140a6f7 100644 --- a/Tasks/CombineAddresses.cs +++ b/Tasks/CombineAddresses.cs @@ -16,7 +16,8 @@ public class CombineAddresses _progress = progressWindow; } - public async Task<(KasAddressList,KasAddressList)> Perform(List address_lists, string type, bool? exportUnused) + public async Task<(KasAddressList, KasAddressList)> Perform(List address_lists, string type, + bool? exportUnused) { var res = await Task.Run(async () => { @@ -48,7 +49,7 @@ public class CombineAddresses // } // }); // return result; - return (null,null); + return (null, null); } @@ -91,11 +92,12 @@ public class CombineAddresses return false; } - public async Task<(KasAddressList,KasAddressList)> Difference(List address_lists, bool? return_unused, + public async Task<(KasAddressList, KasAddressList)> Difference(List address_lists, + bool? return_unused, Progress? progress = null) { if (address_lists == null || address_lists.Count == 0) - return (new KasAddressList(KasAddressList.GenerateName("difference")),null); + return (new KasAddressList(KasAddressList.GenerateName("difference")), null); progress ??= new Progress { @@ -117,26 +119,28 @@ public class CombineAddresses result.KasPersons.Add(person); else second_result.KasPersons.Add(person); - + progress.Increment(); if (progress.LogAction == null) continue; var logMessage = - $"Person mit refsid {person.refsid} verglichen mit {restUnion.Count} Personen des Restes."; + $"Person mit id {person.id} verglichen mit {restUnion.Count} Personen des Restes."; await Dispatcher.UIThread.InvokeAsync(() => progress.LogAction?.Invoke(logMessage)); } - if(return_unused == true) return (result,second_result); - else return (result, null); + + if (return_unused == true) return (result, second_result); + return (result, null); } - public async Task<(KasAddressList,KasAddressList)> Union(List address_lists, bool? return_unused, Progress progress = null) + public async Task<(KasAddressList, KasAddressList)> Union(List address_lists, bool? return_unused, + Progress progress = null) { var result = new KasAddressList(KasAddressList.GenerateName("union")); var second_result = new KasAddressList(KasAddressList.GenerateName("union_rest")); if (address_lists == null || address_lists.Count == 0) - return (result,null); + return (result, null); var total = address_lists.Sum(l => l.KasPersons.Count); var processed = 0; @@ -152,7 +156,7 @@ public class CombineAddresses processed++; var percent = processed / (double)total * 100; var logMessage = - $"{percent:F1}%: Person mit {person.refsid} hinzugefügt (aktuell {result.KasPersons.Count} Einträge)"; + $"{percent:F1}%: Person mit {person.id} hinzugefügt (aktuell {result.KasPersons.Count} Einträge)"; if (progress == null) continue; if (Dispatcher.UIThread.CheckAccess()) @@ -161,8 +165,8 @@ public class CombineAddresses Dispatcher.UIThread.Post(() => progress.LogAction?.Invoke(logMessage)); } - if(return_unused == true) return (result,second_result); - else return (result, null); + if (return_unused == true) return (result, second_result); + return (result, null); } @@ -171,13 +175,14 @@ public class CombineAddresses return null; } - public async Task<(KasAddressList,KasAddressList)> Intersection(List address_lists, bool? return_unused, Progress progress = null) + public async Task<(KasAddressList, KasAddressList)> Intersection(List address_lists, + bool? return_unused, Progress progress = null) { var result = new KasAddressList(KasAddressList.GenerateName("intersection")); var second_result = new KasAddressList(KasAddressList.GenerateName("intersection_rest")); if (address_lists == null || address_lists.Count == 0) - return (result,null); + return (result, null); // Nur die erste Liste als Ausgangspunkt verwenden var baseList = address_lists[0]; @@ -200,7 +205,7 @@ public class CombineAddresses processed++; var percent = processed / (double)total * 100; var logMessage = - $"{percent:F1}%: Person mit {person.refsid} geprüft – {(isInAll ? "in allen enthalten" : "nicht überall vorhanden")}"; + $"{percent:F1}%: Person mit {person.id} geprüft – {(isInAll ? "in allen enthalten" : "nicht überall vorhanden")}"; // Sicher und nicht blockierend loggen if (progress != null) @@ -212,12 +217,13 @@ public class CombineAddresses } } - if(return_unused == true) return (result,second_result); - else return (result, null); + if (return_unused == true) return (result, second_result); + return (result, null); } - public async Task<(KasAddressList,KasAddressList)> SymmetricDifference(List address_lists, bool? return_unused, Progress progress = null) + public async Task<(KasAddressList, KasAddressList)> SymmetricDifference(List address_lists, + bool? return_unused, Progress progress = null) { var result = new KasAddressList(KasAddressList.GenerateName("symmetric_difference")); var second_result = new KasAddressList(KasAddressList.GenerateName("symmetric_rest")); @@ -251,7 +257,7 @@ public class CombineAddresses processed++; var percent = processed / (double)total * 100; var logMessage = - $"{percent:F1}%: Person mit {person.refsid} verarbeitet (Zwischengröße {allPersons.Count})"; + $"{percent:F1}%: Person mit {person.id} verarbeitet (Zwischengröße {allPersons.Count})"; if (progress != null) { @@ -269,8 +275,8 @@ public class CombineAddresses else second_result.KasPersons.Add(person); - if(return_unused == true) return (result,second_result); - else return (result, null); + if (return_unused == true) return (result, second_result); + return (result, null); } diff --git a/Tasks/PdfBuilder.cs b/Tasks/PdfBuilder.cs index 7b892ec..f929d93 100644 --- a/Tasks/PdfBuilder.cs +++ b/Tasks/PdfBuilder.cs @@ -72,7 +72,7 @@ public class PdfBuilder for (var i = 0; i < addressSet.KasPersons.Count; i++) { - var addr = AddressCreator.CreateFinalMarkdownString(addressSet.KasPersons[i].refsid); + var addr = AddressCreator.CreateFinalMarkdownString(addressSet.KasPersons[i].id); if (string.IsNullOrWhiteSpace(addr)) continue; if (!string.IsNullOrEmpty(senderLine)) addresses.Add(senderLine + (addr ?? ""));