示例#1
0
        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));
        }
示例#2
0
        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));
        }