private static bool MatchBindableFilterViewModel(FilterViewModelBase actual, BindableFilterViewModel expected)
 {
     return(actual is BindableFilterViewModel bindableFilterViewModel &&
            bindableFilterViewModel.BindingExpression.ToString() == expected.BindingExpression.ToString() &&
            bindableFilterViewModel.Text == expected.Text &&
            bindableFilterViewModel.IsEnabled == expected.IsEnabled);
 }
Exemple #2
0
        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 }));
            }
        }
 private static bool MatchBindableSocketsFilterViewModel(FilterViewModelBase actual, BindableSocketsFilterViewModel expected)
 {
     return(MatchBindableMinMaxFilterViewModel(actual, expected) &&
            actual is BindableSocketsFilterViewModel bindableSocketsFilterViewModel &&
            bindableSocketsFilterViewModel.Red == expected.Red &&
            bindableSocketsFilterViewModel.Green == expected.Green &&
            bindableSocketsFilterViewModel.Blue == expected.Blue &&
            bindableSocketsFilterViewModel.White == expected.White);
 }
Exemple #4
0
        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));
        }
Exemple #5
0
        private static IFilter GetFilter(FilterViewModelBase filterViewModel)
        {
            IFilter filter = null;

            if (filterViewModel is BindableSocketsFilterViewModel socketsFilterViewModel)
            {
                if (socketsFilterViewModel.IsEnabled == true)
                {
                    filter = new SocketsFilter
                    {
                        Min   = socketsFilterViewModel.Min,
                        Max   = GetMaxValue(socketsFilterViewModel),
                        Red   = socketsFilterViewModel.Red,
                        Green = socketsFilterViewModel.Green,
                        Blue  = socketsFilterViewModel.Blue,
                        White = socketsFilterViewModel.White
                    };
                }
            }
            else if (filterViewModel is IMinMaxFilterViewModel minMaxFilterViewModel)
            {
                if (minMaxFilterViewModel.IsEnabled == true)
                {
                    filter = new MinMaxFilter
                    {
                        Min = minMaxFilterViewModel.Min,
                        Max = GetMaxValue(minMaxFilterViewModel)
                    };
                }
            }
            else
            {
                if (filterViewModel.IsEnabled.HasValue)
                {
                    filter = new BoolOptionFilter
                    {
                        Option = filterViewModel.IsEnabled.Value
                    };
                }
            }

            return(filter);
        }