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)); } }
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); }
public int InsertIngredientsListItem(int recipeId, IngredientsListItemForCreationDto ingredientListItemForCreationDto) { return(ingredientsListRepository.InsertIngredientsListItem(recipeId, ingredientListItemForCreationDto)); }