public override async Task <IActionResult> PostNewProduct( [FromRoute, Required] string barcode, [FromBody] PostProductRequestDto postProductRequestDto ) { CreateProductRequestBM request = new CreateProductRequestBM(barcode, postProductRequestDto.ManufacturerId, postProductRequestDto.CategoryId, postProductRequestDto.ProductName); EmptyResultBM <CreateProductExplanation> result = await productService.CreateProductAsync(request); if (result.Successful) { return(new NoContentResult()); } else { switch (result.Explanation) { case CreateProductExplanation.ProductWithBarcodeAlreadyExists: return(new ApiErrorResult( ErrorResultDto.ErrorCodeEnum.ProductAlreadyExistsEnum, "A product with the specified barcode already exists.", HttpStatusCode.Conflict )); default: return(new ApiGenericErrorResult()); } } }
public abstract Task <IActionResult> PostNewProduct([FromRoute][Required] string barcode, [FromBody] PostProductRequestDto postProductRequestDto);