コード例 #1
0
        public IActionResult AddIngredientsListItem(
            int recipeId,
            [FromBody] IngredientsListItemForCreationDto ingredientListItemForCreationDto)
        {
            if (!ModelState.IsValid ||
                !ingredientsListService.UnitExists(ingredientListItemForCreationDto.UnitId) ||
                !ingredientsListService.IngredientExists(ingredientListItemForCreationDto.IngredientId))
            {
                return(BadRequest(ModelState));
            }

            if (!ingredientsListService.RecipeExists(recipeId))
            {
                return(NotFound());
            }

            var idOfNewIngredientsListItem = ingredientsListService.InsertIngredientsListItem(recipeId, ingredientListItemForCreationDto);

            if (idOfNewIngredientsListItem > 0)
            {
                return(CreatedAtRoute("GetIngredientsList", new { recipeId = recipeId }, ingredientListItemForCreationDto));
            }
            else
            {
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }
コード例 #2
0
        public int InsertIngredientsListItem(int recipeId, IngredientsListItemForCreationDto ingredientListItemForCreationDto)
        {
            var ingredientsList = recipeContext.IngredientsLists.SingleOrDefault(il => il.RecipeId == recipeId);

            if (ingredientsList == null)
            {
                ingredientsList = new IngredientsList
                {
                    RecipeId = recipeId
                };
                recipeContext.Add(ingredientsList);
            }

            var ingredientsListItem = mapper.Map <IngredientsListItem>(ingredientListItemForCreationDto);

            ingredientsListItem.IngredientsList = ingredientsList;
            recipeContext.Add(ingredientsListItem);
            recipeContext.SaveChanges();
            return(ingredientsListItem.Id);
        }
コード例 #3
0
 public int InsertIngredientsListItem(int recipeId, IngredientsListItemForCreationDto ingredientListItemForCreationDto)
 {
     return(ingredientsListRepository.InsertIngredientsListItem(recipeId, ingredientListItemForCreationDto));
 }