public void ListboxKategorie_Selectionchanged(SelectionChangedEventArgs e) { var query = db.Firmen_Kategorien.Where(f => f.id_Firma == CurrentFirma.id); if (e.AddedItems.Count > 0) { foreach (var item in e.AddedItems) { //var kat = (StammFirmen_Kategorien)item; var kategorie = new Firmen_Kategorien(); kategorie.id_Firma = CurrentFirma.id; //kategorie.id_Kategorie = kat.id; //kategorie.Kategoriename = kat.Kategoriename; db.AddToFirmen_Kategorien(kategorie); } } if (e.RemovedItems.Count > 0) { foreach (var item in e.RemovedItems) { //var kat = (StammFirmen_Kategorien)item; var kategorie = new Firmen_Kategorien(); kategorie.id_Firma = CurrentFirma.id; //kategorie.id_Kategorie = kat.id; //kategorie.Kategoriename = kat.Kategoriename; db.Firmen_Kategorien.DeleteObject(kategorie); } } }
void UpdateCollection(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { switch (e.Action) { case System.Collections.Specialized.NotifyCollectionChangedAction.Add: { if (e.NewItems != null && e.NewItems.Count > 0) { foreach (firma item in e.NewItems) { if (fk.Where(k => k.id_Kategorie == item.id).Count() == 0) { var k = new Firmen_Kategorien(); k.id_Kategorie = item.id; k.firma = CurrentFirma; fk.Add(k); db.AddToFirmen_Kategorien(k); // db.SaveChanges(); } } } break; } case System.Collections.Specialized.NotifyCollectionChangedAction.Remove: { if (e.OldItems != null && e.OldItems.Count > 0) { foreach (firma item in e.OldItems) { if (fk.Where(k => k.id_Kategorie == item.id).Count() == 1) { var k = fk.Where(ka => ka.id_Kategorie == item.id).SingleOrDefault(); fk.Remove(k); db.DeleteObject(k); // db.SaveChanges(); } } } break; } default: { break; } } }