Ejemplo n.º 1
0
        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());
                }
            }
        }
Ejemplo n.º 2
0
 public abstract Task <IActionResult> PostNewProduct([FromRoute][Required] string barcode, [FromBody] PostProductRequestDto postProductRequestDto);