Beispiel #1
0
        public async Task <ActionResult <ProductViewModel> > PostAsync(CreateUpdateProductViewModel pe)
        {
            _logger.LogDebug("Post {0} {1} {2} {3}", pe.Name, pe.IsActive, pe.Term, pe.BrandId);

            InputValidation(pe);
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var result = await _repository.CreateProductAsync(pe.Name, pe.IsActive, pe.Term, pe.BrandId);

            if (!result)
            {
                return(BadRequest(new ProblemDetails()
                {
                    Detail = result.Message
                }));
            }

            return(CreatedAtRoute("Product" + nameof(GetAsync), new { id = result.Data.ProductId }, _mapper.Map <ProductViewModel>(result.Data)));
        }