From f33c69afcb2b2b808ab2364240333e2792d28df5 Mon Sep 17 00:00:00 2001 From: Elias Fierke Date: Mon, 6 Oct 2025 18:16:51 +0200 Subject: [PATCH] [fix:] integrated refsid to data import --- DataImport.cs | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/DataImport.cs b/DataImport.cs index d73bfa2..327fa80 100644 --- a/DataImport.cs +++ b/DataImport.cs @@ -116,6 +116,8 @@ public class DataImport .Where(p => p.PropertyType == typeof(bool) && p.Name.StartsWith("has_", StringComparison.OrdinalIgnoreCase)) .ToArray(); + var last_refsid = 1000000; + while (!reader.EndOfStream) { var line = reader.ReadLine(); @@ -126,10 +128,14 @@ public class DataImport var fieldValues = new Dictionary(StringComparer.OrdinalIgnoreCase); + var refsid_existing = false; + foreach (var hasProp in hasProperties) { var fieldName = hasProp.Name.Substring(4); + if (fieldName == "refsid") refsid_existing = true; + var hasObj = hasProp.GetValue(patch); var has = hasObj is bool b && b; @@ -172,10 +178,16 @@ public class DataImport return fieldValues.TryGetValue(name, out var v) ? v : ""; } + var new_refsid = 0; + if (!refsid_existing) + new_refsid = GenerateNewRefsid(); + else + new_refsid = ParseInt(GetField("refsid")); + try { var person = new KasPerson( - ParseInt(GetField("refsid")), + new_refsid, GetField("anrede"), GetField("titel"), GetField("vorname"), @@ -212,6 +224,12 @@ public class DataImport } return (true, imported); + + int GenerateNewRefsid() + { + last_refsid++; + return last_refsid; + } }