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); }
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); }
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)); }
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); }