Exemplo n.º 1
0
        public async Task <IActionResult> GetProducts([FromQuery] GetProductRequestModel options)
        {
            var cat = await productService.GetProducts(options);

            if (cat.Status == 1)
            {
                return(Ok(cat));
            }
            else
            {
                return(NotFound(cat));
            }
        }
Exemplo n.º 2
0
        public async Task <ApiResponse> GetProducts(GetProductRequestModel options)
        {
            ApiResponse response   = new ApiResponse();
            int         _pageNo    = (options.pageNo == 0) ? 1 : options.pageNo;
            int         _pageLimit = (options.pageSize == 0) ? int.MaxValue : options.pageSize;
            var         products   = from prod in _context.Products
                                     join cat in _context.Categories
                                     on prod.CategoryId equals cat.CategoryId
                                     where prod.IsActive == true && prod.IsRemoved == false
                                     select new
            {
                Category = cat.Name,
                Product  = prod.Name,
                prod.ProductId,
                prod.ProductCode,
                prod.Description,
                prod.LastUpdated,
                prod.IsActive,
                prod.IsRemoved,
                prod.Price
            };

            if (!String.IsNullOrEmpty(options.Name))
            {
                products = products.Where(x => x.Product.Contains(options.Name));
            }

            if (!String.IsNullOrEmpty(options.CategoryName))
            {
                products = products.Where(x => x.Category.Contains(options.CategoryName));
            }

            if (!String.IsNullOrEmpty(options.ProductCode))
            {
                products = products.Where(x => x.ProductCode.Contains(options.ProductCode));
            }
            if (options.Price.HasValue)
            {
                products = products.Where(x => x.Price == options.Price);
            }

            response.Data = await products.Skip((_pageNo - 1) *_pageLimit).Take(_pageLimit).ToListAsync();

            response.Status  = 1;
            response.Message = "Category get successfully";
            return(response);
        }