private void UpdateSpeciesFood(string[] selectedFood, Species speciesToUpdate) { if (selectedFood == null) { speciesToUpdate.SpeciesFood = new List <SpeciesFood>(); return; } var selectedFoodHS = new HashSet <string>(selectedFood); var speciesFood = new HashSet <int> (speciesToUpdate.SpeciesFood.Select(sf => sf.Food.ID)); foreach (var food in _context.Food) { if (selectedFoodHS.Contains(food.ID.ToString())) { if (!speciesFood.Contains(food.ID)) { SpeciesFood newElement = new SpeciesFood { SpeciesID = speciesToUpdate.ID, FoodID = food.ID, ID = Guid.NewGuid().GetHashCode() }; speciesToUpdate.SpeciesFood.Add(newElement); _context.SpeciesFood.Add(newElement); } } else { if (speciesFood.Contains(food.ID)) { SpeciesFood foodToRemove = speciesToUpdate.SpeciesFood.FirstOrDefault(i => i.FoodID == food.ID); _context.Remove(foodToRemove); } } } _context.SaveChanges(); }
public void Delete(int id) { var rabbitToRemove = GetById(id); _db.Remove(rabbitToRemove); }