diff --git a/Tasks/CombineAddresses.cs b/Tasks/CombineAddresses.cs index d235f43..8fc17c0 100644 --- a/Tasks/CombineAddresses.cs +++ b/Tasks/CombineAddresses.cs @@ -92,4 +92,68 @@ public class CombineAddresses return first; } + + /// + /// Returns true if the addresses are the same. + /// + /// First address to compare + /// Second address to compare + /// If true, only a refsid-check will be done + /// + public bool CompareAddresses(KasPerson first, KasPerson second, bool only_refsid = false) + { + if (first.refsid == second.refsid) return true; + if (!only_refsid) + if (first.name == second.name && + first.anrede == second.anrede && + first.anredzus == second.anredzus && + first.namezus == second.namezus && + first.titel == second.titel && + first.adel == second.adel && + first.strasse == second.strasse && + first.strasse2 == second.strasse2 && + first.vorname == second.vorname && + first.ort == second.ort && + first.land == second.land && + first.plz == second.plz && + first.pplz == second.pplz && + first.funktion == second.funktion && + first.funktion2 == second.funktion2 && + first.funktionad == second.funktionad && + first.abteilung == second.abteilung && + first.postfach == second.postfach && + first.name1 == second.name1 && + first.name2 == second.name2 && + first.name3 == second.name3 && + first.name4 == second.name4 && + first.name5 == second.name5) + return true; + + return false; + } + + public async Task Difference() + { + return null; + } + + public async Task Union() + { + return null; + } + + public async Task MoveDuplicatesToNew() + { + return null; + } + + public async Task Intersection() + { + return null; + } + + public async Task SymmetricDifference() + { + return null; + } } \ No newline at end of file