コード例 #1
0
        public async Task <GetProductDTO> GetProductById(int productId, string category)
        {
            Product product = await _context.Products.FirstOrDefaultAsync(x => x.Id == productId && x.Category == category);

            if (product == null)
            {
                return(null);
            }
            else
            {
                GetProductDTO productToReturn = new GetProductDTO
                {
                    ProductId      = product.Id,
                    Address        = product.Address,
                    Vendor         = product.Vendor,
                    Visibility     = product.Visibility,
                    Category       = product.Category,
                    Name           = product.Name,
                    ConvinienceFee = product.ConvinienceFee,
                    Amount         = product.Amount,
                    CreatedAt      = product.CreatedAt,
                    Description    = product.Description
                };
                return(productToReturn);
            }
        }
コード例 #2
0
        public async Task <IActionResult> ProductById(int productId, string category)
        {
            try
            {
                GetProductDTO product = await _productManager.GetProductById(productId, category);

                if (product == null)
                {
                    return(BadRequest(new Response <string>
                    {
                        Code = "404",
                        Message = "Product not found."
                    }));
                }
                else
                {
                    return(Ok(new
                    {
                        Code = "200",
                        Data = product
                    }));
                }
            }
            catch (Exception ex)
            {
                var err = ex.Message;
                return(BadRequest(new Response <string> {
                    Code = "500", Message = "Internal server error"
                }));
            }
        }
コード例 #3
0
        public async Task <GetProductDTO> getProduct(int ProductId)
        {
            Product product = await _db.Products.AsNoTracking().FirstOrDefaultAsync(p => p.ProductId == ProductId);

            GetProductDTO productDTO = _mapper.Map <GetProductDTO>(product);

            return(productDTO);
        }
コード例 #4
0
        public async Task <ActionResult <GetProductDTO> > GetProduct(string id, [FromQuery(Name = "accessToken")] string accessToken)
        {
            var productToGet = await _context.Products.FindAsync(id);

            if (productToGet == null)
            {
                return(BadRequest(this.GetError(Error.PRODUCT_NOT_FOUND)));
            }

            if (!this.ValidTokenUser(accessToken))
            {
                return(BadRequest(this.GetError(Error.INVALID_TOKEN)));
            }

            GetProductDTO getProductDTO = new GetProductDTO(productToGet);

            return(getProductDTO);
        }
コード例 #5
0
        public async Task <DataRespone <GetProductDTO> > GetProduct(int ProductId)
        {
            if (ProductId == 0)
            {
                throw new MyBadRequestException("Product ID cannot be null ");
            }

            GetProductDTO product = await _productService.getProduct(ProductId);

            if (product == null)
            {
                throw new MyNotFoundException("Product " + ProductId + " have not found.");
            }

            return(new DataRespone <GetProductDTO>
            {
                Status = true,
                Data = product,
                Errors = null
            });
        }