public AddRecipeResponse AddRecipes(AddRecipeRequest request) { var response = new AddRecipeResponse(); var recipe = new Recipe { Title = request.model.Title }; if (request.model.Ingredients != null && request.model.Ingredients.Count() > 0) { var items = new List <RecipeItem>(); foreach (var item in request.model.Ingredients) { var newItem = new RecipeItem { IngredientId = item.IngredientId, Measure = (Measure)item.Measure, Quantity = item.Quantity }; items.Add(newItem); } recipe.Ingredients = items.AsEnumerable(); } if (!recipe.isValid()) { throw new BusinessRuleException("There was some errors", recipe.getBrokedRules()); } _recipeRepository.Insert(recipe); _unitOfWork.Commit(); response.recipe = recipe.ToRecipeViewModel(); return(response); }
public async Task <IActionResult> AddRecipeAsync([FromBody] AddRecipeRequest request) { var recipe = await _mediator.Send(new AddRecipeCommand( request.Name, request.Products, request.Description, request.RecipeCategory, request.RequiredTime, request.LevelOfDifficulty )); return(Created(string.Empty, recipe)); }
public HttpResponseMessage Add(AddRecipeRequest model) { if (!ModelState.IsValid) { return(Request.CreateResponse(HttpStatusCode.BadRequest, ModelState)); } int rowsAffected = _service.AddRecipe(model); if (rowsAffected > 0) { return(Request.CreateResponse(HttpStatusCode.OK, rowsAffected)); } return(Request.CreateResponse(HttpStatusCode.BadRequest, ModelState)); }
public void Should_Add_A_Recipe_Wit_Items_Successfully() { var recipe = new NewRecipeViewModel(); recipe.Title = "Integration Recipe"; var ingredients = new List <NewRecipeItemViewModel>() { new NewRecipeItemViewModel() { IngredientId = Guid.Parse("FB1BCEE5-B3F2-443A-B14D-511C52C959EA"), Measure = MeasureViewModel.TSP, Quantity = 0.5 } }; recipe.Ingredients = ingredients.AsEnumerable(); var request = new AddRecipeRequest() { model = recipe }; var response = _recipeService.AddRecipes(request); }
public int AddRecipe(AddRecipeRequest data) { using (var conn = GetConnection()) { var cmd = conn.CreateCommand(); cmd.CommandText = "dbo.InsertUserRecipe"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@UserId", data.UserId); cmd.Parameters.AddWithValue("@Title", data.Title); cmd.Parameters.AddWithValue("@Carbs", data.Carbs); cmd.Parameters.AddWithValue("@Calories", data.Calories); cmd.Parameters.AddWithValue("@Fat", data.Fat); cmd.Parameters.AddWithValue("@Protein", data.Protein); cmd.Parameters.AddWithValue("@ApiId", data.ApiId); var steps = new SqlParameter("@Steps", SqlDbType.Structured); if (data.Steps.Any()) { steps.Value = new Data.Structured.NVarCharTable(data.Steps); } ; cmd.Parameters.Add(steps); return(cmd.ExecuteNonQuery()); } }
public void AddRecipe([FromBody] AddRecipeRequest addRecipeRequest) { _addRecipeHandler.Handle(addRecipeRequest); }