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);
        }
        private void CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            if (e.Action == NotifyCollectionChangedAction.Add)
            {
                foreach (MinistryGridViewModel item in e.NewItems)
                {
                    //Added items
                    item.OnUpdateFunction += UpdateElement;
                }

                return;
            }
            if (e.Action == NotifyCollectionChangedAction.Remove)
            {
                foreach (MinistryGridViewModel item in e.OldItems)
                {
                    //Removed items
                    item.OnUpdateFunction -= UpdateElement;
                    _readerWriter.WriteMinistryData(Ministries);
                }

                UpdateFunctionList();
                MinistryView.Refresh();
            }
        }
 internal void Reset()
 {
     Ministries.Clear();
     MinistryViewSource.Source = Ministries;
     MinistryView.Refresh();
     _readerWriter.WriteMinistryData(Ministries);
 }