Exemple #1
0
        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();
        }
Exemple #2
0
        public void Delete(int id)
        {
            var rabbitToRemove = GetById(id);

            _db.Remove(rabbitToRemove);
        }