public BaseController() { _context = new ApplicationDbContext(); this.CategoryFilterViewModel = new CategoryFilterViewModel(); this.CategoryFilterViewModel.Categories = _context.Categories.ToList(); this.ViewData["CategoryFilterViewModel"] = this.CategoryFilterViewModel; }
public ActionResult Index(string slug, int productPageSize = 9, string preContentColumnId = null, string postContentColumnId = null) { var model = LoadCategoryModel(slug, preContentColumnId, postContentColumnId); IndexSetup(model); var viewName = GetViewName(model); if (viewName == null || !viewName.StartsWith("DrillDown")) { LoadSubCategories(model); LoadProducts(model, productPageSize); } else { var filter = new CategoryFilterViewModel { CategoryId = model.LocalCategory.Bvin, PageNumber = 1, IsConsiderSearchable = false }; var sett = new CategoryModuleSettings(ModuleContext.ModuleId); var ddModel = BuildDrillDownModel(filter, sett, 1, productPageSize); model.DrillDownJsonModel = JsonConvert.SerializeObject(ddModel); model.SortSelectList = LoadSortSelectList(model.LocalCategory, GetSort(model.LocalCategory), true); } LogCategoryViewActivity(model.LocalCategory); return(View(viewName, model)); }
public Design() { var eventsService = new DesignEventsService(); var result = eventsService.GetEventPoolAsync(null, CancellationToken.None).Result; var pool = result.Pool; pool.Items = result.ChildrenItems.Values.ToArray(); var itemRequest = new ViewEventItemRequest(0, true); CategoryFilter = new CategoryFilterViewModel(new DesignPluginSettings(), pool); EventItem = new EventItemViewModel(new DesignDataCache(), new DesignNavigationService(), new DesignBrowserService(), new DesignEventsService(), new DesignPluginSettings(), itemRequest); EventPool = new EventPoolViewModel(new DesignDataCache(), new DesignNavigationService(), new DesignEventsService(), new DesignPluginSettings(), new DesignEmailPrompt(), new DesignCodeScanner(), -1); Settings = new SettingsViewModel(new DesignPluginSettings()); TagFilter = new TagFilterViewModel(new DesignPluginSettings(), pool); CategoryFilter.OnNavigatedTo(); EventItem.OnNavigatedToAsync(); EventPool.OnNavigatedToAsync(); Settings.OnNavigatedTo(); TagFilter.OnNavigatedTo(); }
protected void LoadFilterSettings() { var filter = CategoryFilterViewModel.GetCategoryFilter(_views); chkbShowAllDocuments.Checked = filter.ShowAllDocuments; chkbShowUncategorisedDocuments.Checked = filter.ShowUncategorizedDocuments; }
public ActionResult CategoriesFilter() { CategoryFilterViewModel vView = new CategoryFilterViewModel(); vView.CategoryDropDownList = new SelectList(db.Categories, "id", "CategoryName"); //vView.Nominees = new List<Nominee>(); vView.Category = db.Categories.Include(c => c.Nominees).First(); return(View(vView)); }
public ActionResult Dashboard(DateTime? date, string userId) { var viewModel = new CategoryFilterViewModel { Categories = _categoryRepository.GetAll(), ApplicationUsers = _context.Users.ToList() }; viewModel.Categories = GetCategoriesFiltered(viewModel.Categories, date, userId); return View(viewModel); }
public ActionResult Index(string slug, int productPageSize = 9, string preContentColumnId = null, string postContentColumnId = null) { var model = LoadCategoryModel(slug, preContentColumnId, postContentColumnId); IndexSetup(model); var viewName = GetViewName(model); if (viewName == null || !viewName.StartsWith("DrillDown")) { LoadSubCategories(model); LoadProducts(model, productPageSize); } else { var filter = new CategoryFilterViewModel { CategoryId = model.LocalCategory.Bvin, PageNumber = 1, IsConsiderSearchable = false, SortOrder = model.LocalCategory.DisplaySortOrder }; var sett = new CategoryModuleSettings(ModuleContext.ModuleId); var ddModel = BuildDrillDownModel(filter, sett, 1, productPageSize); model.DrillDownJsonModel = JsonConvert.SerializeObject(ddModel); model.SortSelectList = LoadSortSelectList(model.LocalCategory, GetSort(model.LocalCategory), true); } if (AuthorizedToEditCatalog()) { if (!string.IsNullOrEmpty(model.LocalCategory.Bvin)) { model.CategoryAnalyticsUrl = string.Format(CategoryAnalyticsUrlFormat, model.LocalCategory.Bvin); model.CategoryEditUrl = string.Format(CategoryEditUrlFormat, model.LocalCategory.Bvin); } else { model.CategoriesManagementUrl = CategoriesAdminUrl; model.ProductsManagementUrl = ProductsAdminUrl; } model.StoreAdminUrl = DashboardAdminUrl; model.AuthorizedToEditCatalog = true; } else { model.AuthorizedToEditCatalog = false; } LogCategoryViewActivity(model.LocalCategory); return(View(viewName, model)); }
public ActionResult CategoriesFilter(CategoryFilterViewModel vView) { vView.CategoryDropDownList = new SelectList(db.Categories, "id", "CategoryName"); vView.Category = db.Categories.Include(c => c.Nominees).SingleOrDefault(c => c.Id == vView.SelectedId); if (vView.Category == null) { return(new HttpNotFoundResult()); } return(View(vView)); }
public ActionResult DrillDown(CategoryFilterViewModel filter) { var sett = new CategoryModuleSettings(filter.ModuleId); var pageNumber = filter.PageNumber ?? 1; var pageSize = sett.PageSize; filter.IsConsiderSearchable = false; var model = BuildDrillDownModel(filter, sett, pageNumber, pageSize); return(Json(model)); }
protected void SaveFilterSettings() { try { CategoryFilterViewModel.SaveCategoryFilter(_views, new CategoryFilterViewModel { ShowAllDocuments = chkbShowAllDocuments.Checked, ShowUncategorizedDocuments = chkbShowUncategorisedDocuments.Checked }); } catch (Exception ex) { MainForm.ShowExceptionMessage(ex); } }
public CategoryFilterPage() { InitializeComponent(); Title = "Filter"; //NavigationPage.SetBackButtonTitle(this, ""); ToolbarItems.Add(new ToolbarItem { Text = "Done", Command = new Command(() => { Navigation.PopModalAsync(); }) }); BindingContext = viewModel = new CategoryFilterViewModel(); }
private DrillDownJsonModel BuildDrillDownModel(CategoryFilterViewModel filter, CategoryModuleSettings sett, int pageNumber, int pageSize) { var model = new DrillDownJsonModel(); var manager = new SearchManager(HccApp.CurrentRequestContext); var queryAdv = BuildDrillDownQuery(filter); var result = manager.DoProductSearch(HccApp.CurrentStore.Id, null, queryAdv, pageNumber, pageSize); model.Manufacturers = sett.ShowManufacturers ? ToCheckBoxItems(result.Manufacturers, result.SelectedManufacturers, result.TotalCount) : new List <CheckboxFacetItem>(); model.Vendors = sett.ShowVendors ? ToCheckBoxItems(result.Vendors, result.SelectedVendors, result.TotalCount) : new List <CheckboxFacetItem>(); model.SubCategories = LoadDrillDownCategories(filter.CategoryId); model.SortOrder = queryAdv.SortOrder; LoadDrillDownModel(model, pageNumber, pageSize, result); return(model); }
private ProductSearchQueryAdv BuildDrillDownQuery(CategoryFilterViewModel filter) { var queryAdv = new ProductSearchQueryAdv { MinPrice = filter.MinPrice, MaxPrice = filter.MaxPrice, Manufacturers = filter.Manufacturers ?? new List <string>(), Vendors = filter.Vendors ?? new List <string>(), Types = filter.Types ?? new List <string>(), Categories = new List <string> { filter.CategoryId }, Properties = string.IsNullOrEmpty(filter.PropertiesJson) ? new Dictionary <long, string[]>() : JsonConvert.DeserializeObject <Dictionary <long, string[]> >(filter.PropertiesJson), IsConsiderSearchable = filter.IsConsiderSearchable, IsSearchable = filter.IsSearchable }; var cat = HccApp.CatalogServices.Categories.Find(filter.CategoryId); queryAdv.SortOrder = filter.SortOrder != CategorySortOrder.None ? filter.SortOrder : cat != null ? cat.DisplaySortOrder : CategorySortOrder.None; return(queryAdv); }
public Design() { var eventsService = new DesignEventsService(); var result = eventsService.GetEventPoolAsync( null, CancellationToken.None ).Result; var pool = result.Pool; pool.Items = result.ChildrenItems.Values.ToArray(); var itemRequest = new ViewEventItemRequest( 0, true ); CategoryFilter = new CategoryFilterViewModel( new DesignPluginSettings(), pool ); EventItem = new EventItemViewModel( new DesignDataCache(), new DesignNavigationService(), new DesignBrowserService(), new DesignEventsService(), new DesignPluginSettings(), itemRequest ); EventPool = new EventPoolViewModel( new DesignDataCache(), new DesignNavigationService(), new DesignEventsService(), new DesignPluginSettings(), new DesignEmailPrompt(), new DesignCodeScanner(), -1 ); Settings = new SettingsViewModel( new DesignPluginSettings() ); TagFilter = new TagFilterViewModel( new DesignPluginSettings(), pool ); CategoryFilter.OnNavigatedTo(); EventItem.OnNavigatedToAsync(); EventPool.OnNavigatedToAsync(); Settings.OnNavigatedTo(); TagFilter.OnNavigatedTo(); }
public IViewComponentResult Invoke(string nameFilter = "", string categoryFilter = "", string manufacturerFilter = "") { // // category filter // var categoryFilterViewModel = new List <CategoryFilterViewModel>(); var allCategories = _categoryService.GetAllCategoriesWithoutParent(); foreach (var category in allCategories) { var filterModel = new CategoryFilterViewModel { Name = category.Name, Id = category.Id }; var qty = 0; if (nameFilter.Length > 0) { qty = filterModel.Quantity = _productService.Table() .Include(x => x.Categories).ThenInclude(x => x.Category) .Where(x => x.Name.ToLower().Contains(nameFilter.ToLower())) .Where(x => x.Categories.Any(c => c.Category.SeoUrl.ToLower() == category.SeoUrl.ToLower())) .Where(x => x.Published == true) .AsNoTracking() .Count(); } if (manufacturerFilter.Length > 0) { qty = filterModel.Quantity = _productService.Table() .Include(x => x.Categories).ThenInclude(x => x.Category) .Include(x => x.Manufacturers).ThenInclude(x => x.Manufacturer) .Where(x => x.Manufacturers.Any(m => m.Manufacturer.Name.ToLower() == manufacturerFilter.ToLower())) .Where(x => x.Categories.Any(c => c.Category.SeoUrl.ToLower() == category.SeoUrl.ToLower())) .Where(x => x.Published == true) .AsNoTracking() .Count(); } if (qty > 0) { categoryFilterViewModel.Add(filterModel); } } // // manufacturer filter // var manufacturerFilterViewModel = new List <ManufacturerFilterViewModel>(); var allManufacturer = _manufacturerService.GetAllManufacturers(); foreach (var manufacturer in allManufacturer) { var filterModel = new ManufacturerFilterViewModel { Name = manufacturer.Name, Id = manufacturer.Id }; var qty = 0; qty = filterModel.Quantity = _productService.Table() .Include(x => x.Categories).ThenInclude(x => x.Category) .Include(x => x.Manufacturers).ThenInclude(x => x.Manufacturer) .Where(x => x.Manufacturers.Any(m => m.Manufacturer.Name.ToLower() == manufacturer.Name.ToLower())) .Where(x => x.Categories.Any(c => c.Category.Name.ToLower() == categoryFilter.ToLower())) .Where(x => x.Published == true) .AsNoTracking() .Count(); if (qty > 0) { manufacturerFilterViewModel.Add(filterModel); } } // // price filter // var allProducts = _productService.Table() .Include(x => x.Categories).ThenInclude(x => x.Category) .Include(x => x.Manufacturers).ThenInclude(x => x.Manufacturer) .Where(x => x.Published == true) .AsNoTracking() .ToList(); bool showPrice = false; if (nameFilter.Length > 0) { allProducts = allProducts .Where(x => x.Name.ToLower().Contains(nameFilter.ToLower())) .ToList(); showPrice = true; } if (manufacturerFilter.Length > 0) { allProducts = allProducts .Where(x => x.Manufacturers.Any(m => m.Manufacturer.Name.ToLower() == manufacturerFilter.ToLower())) .ToList(); showPrice = true; } if (categoryFilter.Length > 0) { allProducts = allProducts .Where(x => x.Categories.Any(m => m.Category.Name.ToLower() == categoryFilter.ToLower())) .ToList(); showPrice = true; } List <int> range = new List <int>(); List <IGrouping <int, decimal> > groupings = new List <IGrouping <int, decimal> >(); List <decimal> allPrices = allProducts.Select(x => x.Price).ToList(); if (showPrice) { range = new List <int> { 0, 100, 250, 500, 750, 1000, 1500, 2000, 3000, 4000, 5000, 10000 }; groupings = allPrices.GroupBy(price => range.FirstOrDefault(r => r >= price)).ToList(); } // // result // var result = new FilterViewModel(); result.CategoryFilterViewModel = categoryFilterViewModel; result.ManufacturerFilterViewModel = manufacturerFilterViewModel; result.PriceGroupings = groupings.OrderBy(x => x.Key); result.PriceRange = range; if (nameFilter.Length > 0) { result.FilterType = "name"; ViewData["name"] = nameFilter; } if (manufacturerFilter.Length > 0) { result.FilterType = "manufacturer"; } if (categoryFilter.Length > 0) { result.FilterType = "category"; } return(View(result)); }