Esempio n. 1
0
        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"));
        }
Esempio n. 2
0
 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"));
 }
Esempio n. 3
0
        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"));
        }
Esempio n. 4
0
        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"));
        }