public IActionResult SlideList(SlideSearchModel searchModel) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageWidgets)) { return(AccessDeniedDataTablesJson()); } var slides = _slideService.GetAllSlides(showHidden: true, pageIndex: searchModel.Page - 1, pageSize: searchModel.PageSize); var gridModel = new SlideSearchModel.SlidePagedListModel().PrepareToGrid(searchModel, slides, () => { return(slides.Select(slide => { var picture = _pictureService.GetPictureById(slide.PictureId.GetValueOrDefault(0)); return new SlideSearchModel.SlideListItemModel() { Id = slide.Id, Picture = _pictureService.GetPictureUrl(slide.PictureId.GetValueOrDefault(0), 300), Hyperlink = slide.HyperlinkAddress, StartDateUtc = slide.StartDateUtc, EndDateUtc = slide.EndDateUtc, DisplayOrder = slide.DisplayOrder, Published = slide.Published }; })); }); return(Json(gridModel)); }
/// <summary> /// Uninstall plugin /// </summary> public override void Uninstall() { var allSlides = _slideService.GetAllSlides(storeId: _storeContext.CurrentStore.Id); //delete slide localization resources and pictures foreach (var slide in allSlides) { _garbageManager.DeleteSlidePicture(slide); _garbageManager.DeleteSlideLocalizedValues(slide); } //settings _settingService.DeleteSetting <qBoSliderSettings>(); base.Uninstall(); }
public IViewComponentResult Invoke() { var settings = _settingService.LoadSetting <qBoSliderSettings>(_storeContext.CurrentStore.Id); var customer = _workContext.CurrentCustomer; //1.0.5 all with Alc var customerRoleIds = _customerService.GetCustomerRoleIds(customer); var customerRolesString = string.Join(",", customerRoleIds); //create cache key var cacheKey = _cacheKeyService.PrepareKeyForDefaultCache(ModelCacheEventConsumer.PICTURE_URL_MODEL_KEY, _workContext.WorkingLanguage.Id, _storeContext.CurrentStore.Id, DateTime.UtcNow.ToShortDateString(), customerRolesString); var model = _staticCacheManager.Get(cacheKey, () => { var result = new PublicInfoModel() { AutoPlay = settings.AutoPlay, AutoPlayInterval = settings.AutoPlayInterval, MinDragOffsetToSlide = settings.MinDragOffsetToSlide, SlideDuration = settings.SlideDuration, SlideSpacing = settings.SlideSpacing, ArrowNavigation = settings.ArrowNavigationDisplay, BulletNavigation = settings.BulletNavigationDisplay }; result.Slides = _slideService.GetAllSlides(storeId: _storeContext.CurrentStore.Id) .Where(x => x.PublishToday() //1.0.5 all with Alc //Set catalogsettings.ignoreacl = True to use ALC //&& ((customerRoleIds.Except(_aclService.GetCustomerRoleIdsWithAccess(x).ToList()).ToList().Count < customerRoleIds.Count) || (_aclService.GetCustomerRoleIdsWithAccess(x).ToList().Count == 0))) && (_aclService.Authorize(x))) .OrderBy(x => x.DisplayOrder).Select(slide => { var pictureId = _localizationService.GetLocalized(slide, z => z.PictureId, _workContext.WorkingLanguage.Id, true, false); return(new PublicInfoModel.PublicSlideModel() { Picture = _pictureService.GetPictureUrl(pictureId.GetValueOrDefault(0)), Description = _localizationService.GetLocalized(slide, z => z.Description, _workContext.WorkingLanguage.Id), Hyperlink = _localizationService.GetLocalized(slide, z => z.HyperlinkAddress, _workContext.WorkingLanguage.Id) }); }).ToList(); return(result); }); return(View("~/Plugins/Widgets.qBoSlider/Views/Public/PublicInfo.cshtml", model)); }
/// <summary> /// Uninstall plugin /// </summary> public override void Uninstall() { var allSlides = _slideService.GetAllSlides(storeId: _storeContext.CurrentStore.Id); //settings _settingService.DeleteSetting <qBoSliderSettings>(); //remove slides from database while (allSlides.Any()) { var slide = allSlides[0]; _slideService.DeleteSlide(slide); allSlides.Remove(slide); } base.Uninstall(); }
/// <summary> /// Prepare slide paged list model /// </summary> /// <param name="searchModel">Slide search model</param> /// <returns>Slide paged list model</returns> public virtual SlideSearchModel.SlidePagedListModel PrepareSlideListPagedModel(SlideSearchModel searchModel) { var slides = _slideService.GetAllSlides(showHidden: true, pageIndex: searchModel.Page - 1, pageSize: searchModel.PageSize); var gridModel = new SlideSearchModel.SlidePagedListModel().PrepareToGrid(searchModel, slides, () => { return(slides.Select(slide => { var pictureId = slide.PictureId.GetValueOrDefault(0); return new SlideSearchModel.SlideListItemModel() { Id = slide.Id, Picture = _pictureService.GetPictureUrl(pictureId, 300), Hyperlink = slide.HyperlinkAddress, StartDateUtc = slide.StartDateUtc, EndDateUtc = slide.EndDateUtc, Published = slide.Published }; })); }); return(gridModel); }
/// <summary> /// Prepare add slide model search list /// </summary> /// <param name="searchModel">Add widget zone slide search model</param> /// <returns>Add widget zone slide model</returns> public virtual AddWidgetZoneSlideModel.SlidePagedListModel PrepareAddWidgetZoneSlideModel(AddWidgetZoneSlideModel searchModel) { var slides = _slideService.GetAllSlides(showHidden: true, pageIndex: searchModel.Page - 1, pageSize: searchModel.PageSize); var gridModel = new AddWidgetZoneSlideModel.SlidePagedListModel().PrepareToGrid(searchModel, slides, () => { return(slides.Select(slide => { var picture = _pictureService.GetPictureById(slide.PictureId.GetValueOrDefault(0)); var pictureUrl = _pictureService.GetPictureUrl(picture.Id, 300); return new AddWidgetZoneSlideModel.SlideModel() { Id = slide.Id, PictureUrl = pictureUrl, StartDateUtc = slide.StartDateUtc, EndDateUtc = slide.EndDateUtc, Published = slide.Published }; })); }); return(gridModel); }