Exemplo n.º 1
0
        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);
        }
Exemplo n.º 3
0
        /// <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);
        }