コード例 #1
0
        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));
            }
        }
コード例 #2
0
        // 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));
        }