public async Task <ActionResult <ProductDTO> > CreateProduct([FromBody] ProductDTO productDto) { var validator = new SaveProductValidator(_productService); var validationResult = await validator.ValidateAsync(productDto); if (!validationResult.IsValid) { return(BadRequest(validationResult.Errors)); } var productTOCreate = _mapper.Map <ProductDTO, Products>(productDto); var newProduct = await _productService.CreateProduct(productTOCreate); var product = await _productService.GetProductById(newProduct.Id); var productResource = _mapper.Map <Products, ProductDTO>(product); return(Ok(productResource)); }
public ProductController(IProductService productService, IMapper mapper, SaveProductValidator validator) { _productService = productService; _mapper = mapper; _validator = validator; }