예제 #1
0
        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));
        }
예제 #2
0
        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);
        }