public virtual IActionResult FindSliderWidgetZoneByName(string name) { var widgetZones = _widgetZoneService.GetWidgetZones(name, null, true, 0, 10).Select(wz => { return(wz.Name); }).ToList(); return(Json(widgetZones)); }
/// <summary> /// Prepare slide widget zones list for 'Add widget zone' model /// </summary> /// <param name="searchModel">Add slide widget zone model</param> /// <returns>Slide widget zone list</returns> public virtual AddSlideWidgetZoneModel.WidgetZonePagedList PrepareWidgetZoneList(AddSlideWidgetZoneModel searchModel) { var allWidgetZones = _widgetZoneService.GetWidgetZones(searchModel.SearchWidgetZoneName, searchModel.SearchWidgetZoneSystemName, true, searchModel.Page - 1, searchModel.PageSize); var gridModel = new AddSlideWidgetZoneModel.WidgetZonePagedList().PrepareToGrid(searchModel, allWidgetZones, () => { return(allWidgetZones.Select(widgetZone => { return PrepareWidgetZoneModel(widgetZone); })); }); return(gridModel); }
/// <summary> /// Gets widget zones where this widget should be rendered /// </summary> /// <returns>Widget zones</returns> public IList <string> GetWidgetZones() { //need to prepare all available widget zone names, but we can't call widget zone service in plugin constructor //that's why we use here 'EngineContext' //var widgetZoneService = EngineContext.Current.Resolve<IWidgetZoneService>(); //get active widget zones system names var activeWidgetZones = _widgetZoneService.GetWidgetZones(); var widgetZoneSystemNames = activeWidgetZones //process only authorized widget zones .Where(widgetZone => _aclService.Authorize(widgetZone) && _storeMappingService.Authorize(widgetZone)) .Select(x => x.SystemName).Distinct().ToList(); return(widgetZoneSystemNames); }
/// <summary> /// Prepare widget zone paged list model /// </summary> /// <param name="searchModel">Search model</param> /// <returns>Paged list model</returns> public virtual WidgetZoneSearchModel.WidgetZoneList PrepareWidgetZonePagedListModel(WidgetZoneSearchModel searchModel) { var widgetZones = _widgetZoneService.GetWidgetZones( name: searchModel.SearchWidgetZoneName, systemName: searchModel.SearchWidgetZoneSystemName, showHidden: true, pageIndex: searchModel.Page - 1, pageSize: searchModel.PageSize); var gridModel = new WidgetZoneSearchModel.WidgetZoneList().PrepareToGrid(searchModel, widgetZones, () => { return(widgetZones.Select(widgetZone => { return new WidgetZoneSearchModel.WidgetZoneListItem() { Id = widgetZone.Id, Name = widgetZone.Name, SystemName = widgetZone.SystemName, Published = widgetZone.Published }; })); }); return(gridModel); }