示例#1
0
        public override async Task <IActionResult> PatchProduct(
            [FromRoute, Required] string barcode,
            [FromBody] PatchProductRequestDto patchProductRequestDto
            )
        {
            EmptyResultBM <UpdateProductExplanation> result = await productService.UpdateProductAsync(
                new UpdateProductRequestBM(
                    barcode : barcode,
                    newManufacturerId : patchProductRequestDto.ManufacturerId,
                    newCategoryId : patchProductRequestDto.CategoryId,
                    productName : patchProductRequestDto.ProductName
                    )
                );

            if (result.Successful)
            {
                return(NoContent());
            }
            else
            {
                switch (result.Explanation)
                {
                case UpdateProductExplanation.ProductNotFound:
                    return(new ApiErrorResult(
                               ErrorResultDto.ErrorCodeEnum.ProductNotFoundEnum,
                               "Product was not found with the given barcode",
                               HttpStatusCode.NotFound
                               ));

                default:
                    return(new ApiGenericErrorResult());
                }
            }
        }
示例#2
0
 public abstract Task <IActionResult> PatchProduct([FromRoute][Required] string barcode, [FromBody] PatchProductRequestDto patchProductRequestDto);