public async Task <IActionResult> CreateProduct([FromBody] ProductForCreationModel model) { if (model == null) { return(BadRequest(ExceptionMessageModelFactory.BadRequestBody())); } if (!ModelState.IsValid) { return(BadRequest(ExceptionMessageModelFactory .BadRequestModelStateInvalid(new SerializableError(ModelState)))); } var product = _mapper.Map <ProductEntity>(model); await _productRepository.CreateProduct(product); var modelResult = _mapper.Map <ProductForGetModel>(product); return(CreatedAtRoute("GetProduct", new { id = product.Id }, modelResult)); }
public async Task <IHttpActionResult> CreateProduct([FromBody] ProductForCreationModel model) { if (model == null) { return(BadRequest(ExceptionMessageModelFactory.BadRequestBody())); } ValidateModel(new ProductForCreationModelValidator(), model); if (!ModelState.IsValid) { return(BadRequest(ExceptionMessageModelFactory .BadRequestModelStateInvalid(ModelState.Values.SelectMany(x => x.Errors)))); } var product = _mapper.Map <ProductEntity>(model); await _productRepository.CreateProduct(product); var modelResult = _mapper.Map <ProductForGetModel>(product); return(CreatedAtRoute("GetProduct", new { id = product.Id }, modelResult)); }