public ActionResult SearchByName(string search) { var products = _productService.GetProducts().Where(p => p.Name.Contains(search)); if (search == null) { return(RedirectToAction("Index")); } else { var productsShort = new List <ProductsShortViewModel>(); foreach (var product in products) { var productVm = new ProductsShortViewModel { Id = product.Id, Name = product.Name, CategoryId = product.CategoryId, Category = product.Category, Price = product.Price, ImageData = product.ImageData, ImageMimeTime = product.ImageMimeTime }; productsShort.Add(productVm); } return(View(productsShort)); } }
// GET: Products public ActionResult Index(string category, int page = 1) { var products = _productService.GetProducts() .Where(p => category == null || p.Category.Name == category) .OrderBy(p => p.Id) .Skip((page - 1) * PageSize) .Take(PageSize); var productsShort = new List <ProductsShortViewModel>(); foreach (var product in products) { var productVm = new ProductsShortViewModel { Id = product.Id, Name = product.Name, CategoryId = product.CategoryId, Category = product.Category, Price = product.Price, ImageData = product.ImageData, ImageMimeTime = product.ImageMimeTime }; productsShort.Add(productVm); } ProductsListViewModel productLVM = new ProductsListViewModel() { PagingInfo = new PagingInfoViewModel { CurrentPage = page, ItemsPerPage = PageSize, TotalItems = category == null? _productService.GetProducts().Count() : _productService.GetProducts().Where(e => e.Category.Name == category).Count() }, CurrentCategory = category, Products = productsShort }; return(View(productLVM)); }