Пример #1
0
        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));
        }
Пример #2
0
        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);
            }
        }