public async Task <ActionResult <CreateNewDish> > AddDish(CreateNewDish newDish) { var dishName = await _dishesRepository.CheckByName(newDish.Name); if (dishName) { return(StatusCode((int)HttpStatusCode.Conflict, "Dish with name: " + newDish.Name + " already exists")); } var postDish = await _dishIngredientsService.AddNewDish(newDish); return(CreatedAtAction(nameof(GetDishById), new { id = postDish.Id }, postDish.Id)); }
public async Task <CreateNewDish> AddNewDish(CreateNewDish dish) { var newDish = new Dishes(); newDish.Id = dish.Id; newDish.Name = dish.Name; newDish.ParentId = dish.ParentId; newDish.UpdatedOn = dish.UpdatedOn; newDish.Ingredients = new List <DishIngredient>(); foreach (var item in dish.Ingredients) { var ingredients = new DishIngredient() { IngredientId = item.IngredientId, Amount = item.Amount }; newDish.Ingredients.Add(ingredients); } await _dishRepository.Create(newDish); await _dishRepository.Save(); return(dish); }