public ActionResult Edit(Client client, List <int> StylistIds) { db.Entry(client).State = EntityState.Modified; var clientMatchesInJoinTable = db.StylistClients.Where(entry => entry.ClientId == client.ClientId).ToList(); foreach (var stylist in clientMatchesInJoinTable) { int stylistId = stylist.StylistId; var joinEntry = db.StylistClients .Where(entry => entry.StylistId == stylistId) .Where(entry => entry.ClientId == client.ClientId); foreach (var entry in joinEntry) { db.StylistClients.Remove(entry); } } foreach (var id in StylistIds) { Stylist stylist = db.Stylists.FirstOrDefault(otherEntry => otherEntry.StylistId == id); StylistClient newStylistClient = new StylistClient(client.ClientId, stylist.StylistId); db.StylistClients.Add(newStylistClient); } db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Create(Client client, List <int> StylistIds) { db.Clients.Add(client); foreach (int stylistId in StylistIds) { StylistClient newStylistClient = new StylistClient(client.ClientId, stylistId); db.StylistClients.Add(newStylistClient); } db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Delete(int id) { Stylist stylist = db.Stylists.FirstOrDefault(stylists => stylists.StylistId == id); StylistClient joinEntry = db.StylistClients.FirstOrDefault(entry => entry.StylistId == id); db.Stylists.Remove(stylist); if (joinEntry != null) { db.StylistClients.Remove(joinEntry); } db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit(Stylist stylist, List <int> SpecialtyIds, List <int> ClientIds) { db.Entry(stylist).State = EntityState.Modified; var stylistMatchesInJoinTable = db.StylistSpecialties.Where(entry => entry.StylistId == stylist.StylistId).ToList(); foreach (var specialty in stylistMatchesInJoinTable) { int specialtyId = specialty.SpecialtyId; var joinEntry = db.StylistSpecialties .Where(entry => entry.SpecialtyId == specialtyId) .Where(entry => entry.StylistId == stylist.StylistId); foreach (var entry in joinEntry) { db.StylistSpecialties.Remove(entry); } } foreach (var id in SpecialtyIds) { Specialty specialty = db.Specialties.FirstOrDefault(otherEntry => otherEntry.SpecialtyId == id); StylistSpecialty newStylistSpecialty = new StylistSpecialty(specialty.SpecialtyId, stylist.StylistId); db.StylistSpecialties.Add(newStylistSpecialty); } var stylistMatchesClients = db.StylistClients.Where(entry => entry.StylistId == stylist.StylistId).ToList(); foreach (var client in stylistMatchesClients) { int clientId = client.ClientId; var joinEntry = db.StylistClients .Where(entry => entry.ClientId == clientId) .Where(entry => entry.StylistId == stylist.StylistId); foreach (var entry in joinEntry) { db.StylistClients.Remove(entry); } } foreach (var id in ClientIds) { Client client = db.Clients.FirstOrDefault(newEntry => newEntry.ClientId == id); StylistClient newStylistClient = new StylistClient(client.ClientId, stylist.StylistId); db.StylistClients.Add(newStylistClient); } db.SaveChanges(); return(RedirectToAction("Index")); }