internal void UpdateMinistries(ObservableCollection <MinistryGridViewModel> ministryList) { var addCount = 0; var updatedCount = 0; string addMessage = ""; string updatedMessage = ""; var tmpMinistryList = new List <MinistryGridViewModel>(); tmpMinistryList.AddRange(Ministries); foreach (var item in ministryList) { if (!tmpMinistryList.Exists(x => x.FullName == item.FullName)) { Ministries.Add(item); addCount++; } if (tmpMinistryList.Exists(x => x.FullName == item.FullName)) { var oldFunction = tmpMinistryList.Find(x => x.FullName == item.FullName).Function; if (oldFunction != item.Function) { tmpMinistryList.Find(x => x.FullName == item.FullName).Function = item.Function; updatedCount++; } } } if (addCount == 1) { addMessage = $"{addCount} Eintrag wurde zum Verzeichnis hinzugefügt"; } else { addMessage = $"{addCount} Einträge wurden zum Verzeichnis hinzugefügt"; } if (updatedCount == 1) { updatedMessage = $"{updatedCount} Eintrag wurde im Verzeichnis aktualisiert"; } else { updatedMessage = $"{updatedCount} Einträge wurden im Verzeichnis aktualisiert"; } MessageBox.Show(addMessage + Environment.NewLine + updatedMessage, "Info", MessageBoxButtons.OK, MessageBoxIcon.Information); //if (addCount == 1) // MessageBox.Show($"{addCount} Eintrag wurde zum Verzeichnis hinzugefügt", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information); //else // MessageBox.Show($"{addCount} Einträge wurden zum Verzeichnis hinzugefügt", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information); UpdateFunctionList(); MinistryViewSource.Source = Ministries; MinistryView.Refresh(); _readerWriter.WriteMinistryData(Ministries); }