public ActionResult ManufacturerNavigation(int currentManufacturerId) { string cacheKey = string.Format(ModelCacheEventConsumer.MANUFACTURER_NAVIGATION_MODEL_KEY, currentManufacturerId, _workContext.WorkingLanguage.Id); var cacheModel = _cacheManager.Get(cacheKey, () => { var currentManufacturer = _manufacturerService.GetManufacturerById(currentManufacturerId); var model = new List<ManufacturerNavigationModel>(); foreach (var manufacturer in _manufacturerService.GetAllManufacturers()) { var modelMan = new ManufacturerNavigationModel() { Id = manufacturer.Id, Name = manufacturer.GetLocalized(x => x.Name), SeName = manufacturer.GetSeName(), IsActive = currentManufacturer != null && currentManufacturer.Id == manufacturer.Id, }; model.Add(modelMan); } return model; }); return PartialView(cacheModel); }
public ActionResult ManufacturerNavigation(int currentManufacturerId) { if (_catalogSettings.ManufacturersBlockItemsToDisplay == 0) return Content(""); var customerRolesIds = _workContext.CurrentCustomer.CustomerRoles .Where(cr => cr.Active).Select(cr => cr.Id).ToList(); string cacheKey = string.Format(ModelCacheEventConsumer.MANUFACTURER_NAVIGATION_MODEL_KEY, currentManufacturerId, _workContext.WorkingLanguage.Id, string.Join(",", customerRolesIds), _storeContext.CurrentStore.Id); var cacheModel = _cacheManager.Get(cacheKey, () => { var currentManufacturer = _manufacturerService.GetManufacturerById(currentManufacturerId); var manufacturers = _manufacturerService.GetAllManufacturers(pageSize: _catalogSettings.ManufacturersBlockItemsToDisplay); var model = new ManufacturerNavigationModel() { TotalManufacturers = manufacturers.TotalCount }; foreach (var manufacturer in manufacturers) { var modelMan = new ManufacturerBriefInfoModel() { Id = manufacturer.Id, Name = manufacturer.GetLocalized(x => x.Name), SeName = manufacturer.GetSeName(), IsActive = currentManufacturer != null && currentManufacturer.Id == manufacturer.Id, }; model.Manufacturers.Add(modelMan); } return model; }); if (cacheModel.Manufacturers.Count == 0) return Content(""); return PartialView(cacheModel); }
public ActionResult ManufacturerNavigation(int currentManufacturerId) { string cacheKey = string.Format(ModelCacheEventConsumer.MANUFACTURER_NAVIGATION_MODEL_KEY, currentManufacturerId, _workContext.WorkingLanguage.Id); var cacheModel = _cacheManager.Get(cacheKey, () => { var currentManufacturer = _manufacturerService.GetManufacturerById(currentManufacturerId); var manufacturers = _manufacturerService.GetAllManufacturers(); var model = new ManufacturerNavigationModel() { TotalManufacturers = manufacturers.Count }; foreach (var manufacturer in manufacturers.Take(_catalogSettings.ManufacturersBlockItemsToDisplay)) { var modelMan = new ManufacturerBriefInfoModel() { Id = manufacturer.Id, Name = manufacturer.GetLocalized(x => x.Name), SeName = manufacturer.GetSeName(), IsActive = currentManufacturer != null && currentManufacturer.Id == manufacturer.Id, }; model.Manufacturers.Add(modelMan); } return model; }); return PartialView(cacheModel); }