//edit existing item>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> public void EditExistingItem(InventoryItem item) { using (var context = new SingularityDBContext()) { context.InventoryItems.Attach(item); var entry = context.Entry(item); entry.State = EntityState.Modified; context.SaveChanges(); } }
//Update existing client info public void EditClientDetails(Client client, IEnumerable <int> DisabilityIds) { using (var context = new SingularityDBContext()) { context.Clients.Attach(client); var entry = context.Entry(client); entry.State = EntityState.Modified; context.SaveChanges(); if (DisabilityIds != null) // null check required to cover posting on null DisabilityIds { var oldClientDisabilities = context.ClientDisabilities.Where(cd => cd.ClientId == client.ClientID); context.ClientDisabilities.RemoveRange(oldClientDisabilities); context.SaveChanges(); var clientDisabilities = DisabilityIds //Access the IEnumerable<int> of DisabilityIds .Select(DisabilityId => new ClientDisability //Foreach create a new cd object { ClientId = client.ClientID, DisabilityCategoryId = DisabilityId }); // After the ClientDisability Ojects are created and added to var, they get added to the table context.ClientDisabilities.AddRange(clientDisabilities); context.SaveChanges(); } else { var oldClientDisabilities = context.ClientDisabilities.Where(cd => cd.ClientId == client.ClientID); context.ClientDisabilities.RemoveRange(oldClientDisabilities); context.SaveChanges(); } } }
//Deletes Item - used in Update Inventory Items form public void DeleteItem(int id) { using (var context = new SingularityDBContext()) { var item = context.InventoryItems.FirstOrDefault(x => x.InventoryItemId == id); if (item != null) { item.IsDeleted = true; context.InventoryItems.Attach(item); var entry = context.Entry(item); entry.State = EntityState.Modified; context.SaveChanges(); } } }