void UpdateCollection(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { try { switch (e.Action) { case System.Collections.Specialized.NotifyCollectionChangedAction.Add: { if (e.NewItems != null && e.NewItems.Count > 0) { foreach (Firmen_Personen item in e.NewItems) { if (fk.Where(k => k.id_TeilnehmerExtern == item.id).Count() == 0) { var k = new Kundenbesuch_TeilnehmerExtern(); k.id_TeilnehmerExtern = item.id; k.Firmen_Kundenbesuche = CurrentBesuch; fk.Add(k); db.AddToKundenbesuche_TeilnehmerExtern(k); OnDataChanged(true); } } } break; } case System.Collections.Specialized.NotifyCollectionChangedAction.Remove: { if (e.OldItems != null && e.OldItems.Count > 0) { foreach (Firmen_Personen item in e.OldItems) { if (fk.Where(k => k.id_TeilnehmerExtern == item.id).Count() == 1) { var k = fk.Where(ka => ka.id_TeilnehmerExtern == item.id).SingleOrDefault(); fk.Remove(k); db.DeleteObject(k); OnDataChanged(true); } } } break; } default: { break; } } } catch (Exception ex) { CommonTools.Tools.ErrorMethods.ShowErrorMessage(ex); } }