public async Task <Meal> CreateMealAsync(Meal meal, List <Ingredient> ingredients) { var model = _mapper.Map <DAL.Domain.Meal>(meal); var newMeal = await _mealRepository.CreateAsync(model); foreach (var ingredient in ingredients) { var mealIngredient = new DAL.Domain.MealIngredient(); mealIngredient.MealId = newMeal.Id; mealIngredient.IngredientId = ingredient.Id; await _mealIngredientRepository.CreateAsync(mealIngredient); } return(_mapper.Map <Meal>(newMeal)); }
public async Task UpdateMealAsync(Meal meal, List <Ingredient> ingredients) { var oldMeal = await _mealRepository.GetByIdAsync(meal.Id); await _mealRepository.UpdateAsync(oldMeal); var oldMealIngredient = _mealIngredientRepository.GetAll().Where(mealIngredient => mealIngredient.MealId == meal.Id); foreach (var mealIngredient in oldMealIngredient) { await _mealIngredientRepository.DeleteAsync(mealIngredient.Id); } foreach (var ingredient in ingredients) { var mealIngredient = new DAL.Domain.MealIngredient(); mealIngredient.MealId = meal.Id; mealIngredient.IngredientId = ingredient.Id; await _mealIngredientRepository.CreateAsync(mealIngredient); } }