public async Task <ActionResult <Products> > GetProducts(string ProductName) { var ProductList = await _context.Products.ToListAsync(); ProductsOutputModel SearchbyName = new ProductsOutputModel { Items = ProductList.Where(m => m.ProductName.ToUpper().Contains(ProductName.ToUpper())).Select(m => ToProducInfo(m)).ToList() }; return(Ok(SearchbyName)); }
public async Task <IActionResult> GetProductSort(string SortBy) { // DOTO: find a better sotution for this... need to read more // I don't likes this quick soluction var ProductList = await _context.Products.ToListAsync(); switch (SortBy) { case "ProductSKU": ProductsOutputModel SortProductSKU = new ProductsOutputModel { Items = ProductList.Select(m => ToProducInfo(m)).OrderBy(x => x.ProductSKU).ToList() }; return(Ok(SortProductSKU)); case "ProductPrice": ProductsOutputModel SortProductPrice = new ProductsOutputModel { Items = ProductList.Select(m => ToProducInfo(m)).OrderBy(x => x.ProductPrice).ToList() }; return(Ok(SortProductPrice)); case "inStock": ProductsOutputModel SortinStock = new ProductsOutputModel { Items = ProductList.Select(m => ToProducInfo(m)).OrderBy(x => x.inStock).ToList() }; return(Ok(SortinStock)); case "ProductLikes": ProductsOutputModel SortProductLikes = new ProductsOutputModel { Items = ProductList.Select(m => ToProducInfo(m)).OrderByDescending(x => x.ProductLikes).ToList() }; return(Ok(SortProductLikes)); case "ProductName": default: ProductsOutputModel SortProductName = new ProductsOutputModel { Items = ProductList.Select(m => ToProducInfo(m)).OrderBy(x => x.ProductName).ToList() }; return(Ok(SortProductName)); } }