コード例 #1
0
ファイル: SearchController.cs プロジェクト: vslotylo/3e
 public ActionResult Index(PageFilter pageFilter, SortFilter sortFilter, PageSizeFilter pageSizeFilter,
                           SearchFilter searchFilter)
 {
     var seperators = new[] {" ", "-"};
     string[] tokens = searchFilter.Keyword.Split(seperators, StringSplitOptions.RemoveEmptyEntries);
     ViewModel = new FilterViewModelBase(pageSizeFilter, sortFilter, pageFilter, searchFilter);
     expression = obj => tokens.All(t => obj.DisplayName.Contains(t));
     IEnumerable<Product> products = productRepository.GetProductWithProducersByExpression(expression);
     StartInitializeCommon(products.Count());
     EndInitializeCommon(products);
     return View(ViewModel);
 }
コード例 #2
0
ファイル: ProductController.cs プロジェクト: vslotylo/3e
        public ActionResult Index(string category, PageSizeFilter pageSizeFilter, SortFilter sortFilter,
                                  ProducersFilter producerFilter, PageFilter pageFilter,
                                  [ModelBinder(typeof(GroupFilterBinder))] GroupFilter groupFilter)
        {
            try
            {
                var url = ProducerRedirect.GetUrl(Request.Url, category, producerFilter);
                if (url != string.Empty)
                {
                    return RedirectPermanent(url);
                }

                ViewModel = new FilterViewModelBase(category, pageSizeFilter, sortFilter, producerFilter, pageFilter,
                                                    groupFilter);

                var categoryObj = categoryRepository.Find(category);
                if (categoryObj == null)
                {
                    throw new Exception("Invalid category name.");
                }

                ViewModel.CategoryObj = categoryObj;
                IQueryable<Product> entities = productRepository.GetProductsWithProducerByProductName(category);
                entities = StartInitialize(entities);
                EndInitialize(entities);

                return View(ViewModel);
            }
            catch (Exception e)
            {
                Logger.Error(e);
                return RedirectToAction("index", "error", new { statusCode = 404 });
            }
        }