Beispiel #1
0
        public async Task <ActionResult <GetResult> > Get([FromQuery] GetRequest request)
        {
            if (!await _authManager.HasSitePermissionsAsync(request.SiteId,
                                                            MenuUtils.SitePermissions.MaterialMessage))
            {
                return(Unauthorized());
            }

            var site = await _siteRepository.GetAsync(request.SiteId);

            var message = await _materialMessageRepository.GetAsync(request.MessageId);

            var items = message?.Items ?? new List <MaterialMessageItem>();

            if (items.Count == 0)
            {
                items.Add(new MaterialMessageItem
                {
                    Taxis = 1
                });
            }
            var commentTypes = ListUtils.GetSelects <CommentType>();

            return(new GetResult
            {
                Items = items,
                CommentTypes = commentTypes,
                SiteType = site.SiteType
            });
        }
        public async Task <ActionResult <GetResult> > Get([FromQuery] FormRequest request)
        {
            if (!await _authManager.HasSitePermissionsAsync(request.SiteId, FormManager.PermissionsForms))
            {
                return(Unauthorized());
            }

            var formInfo = await _formRepository.GetFormInfoAsync(request.SiteId, request.FormId);

            if (formInfo == null)
            {
                return(NotFound());
            }

            var styles = await _formManager.GetTableStylesAsync(formInfo.Id);

            var inputTypes = ListUtils.GetSelects <InputType>();

            return(new GetResult
            {
                InputTypes = inputTypes,
                TableName = FormUtils.TableNameData,
                RelatedIdentities = ListUtils.ToString(_formManager.GetRelatedIdentities(formInfo.Id)),
                Styles = styles,
            });
        }
Beispiel #3
0
        public async Task <ActionResult <GetResult> > Get([FromQuery] GetRequest request)
        {
            if (!await _authManager.HasSitePermissionsAsync(request.SiteId, AdvertisementUtils.PermissionsAdd))
            {
                return(Unauthorized());
            }

            var advertisement = request.AdvertisementId > 0
                ? await _advertisementRepository.GetAsync(request.SiteId, request.AdvertisementId)
                : new Models.Advertisement
            {
                AdvertisementType = AdvertisementType.FloatImage,
                StartDate         = DateTime.Now,
                EndDate           = DateTime.Now.AddMonths(1),
                RollingType       = RollingType.FollowingScreen,
                PositionType      = PositionType.LeftTop,
                PositionX         = 10,
                PositionY         = 120,
                IsCloseable       = true
            };

            var advertisementTypes = ListUtils.GetSelects <AdvertisementType>();
            var scopeTypes         = ListUtils.GetSelects <ScopeType>();

            var site = await _siteRepository.GetAsync(request.SiteId);

            if (site == null)
            {
                return(NotFound());
            }

            var channel = await _channelRepository.GetAsync(request.SiteId);

            var cascade = await _channelRepository.GetCascadeAsync(site, channel, async summary =>
            {
                var count = await _contentRepository.GetCountAsync(site, summary);
                return(new
                {
                    Count = count
                });
            });

            var templates = await _templateRepository.GetSummariesAsync(request.SiteId);

            var positionTypes = ListUtils.GetSelects <PositionType>();

            var rollingTypes = ListUtils.GetSelects <RollingType>();

            return(new GetResult
            {
                Advertisement = advertisement,
                AdvertisementTypes = advertisementTypes,
                ScopeTypes = scopeTypes,
                Channels = cascade,
                Templates = templates,
                PositionTypes = positionTypes,
                RollingTypes = rollingTypes
            });
        }
Beispiel #4
0
        public async Task <ActionResult <GetResult> > Get([FromQuery] ChannelRequest request)
        {
            if (!await _authManager.HasSitePermissionsAsync(request.SiteId,
                                                            MenuUtils.SitePermissions.SettingsStyleContent))
            {
                return(Unauthorized());
            }

            var site = await _siteRepository.GetAsync(request.SiteId);

            if (site == null)
            {
                return(NotFound());
            }

            var channel = await _channelRepository.GetAsync(request.ChannelId);

            var tableName         = _channelRepository.GetTableName(site, channel);
            var relatedIdentities = _tableStyleRepository.GetRelatedIdentities(channel);
            var styles            = await _tableStyleRepository.GetTableStylesAsync(tableName, relatedIdentities);

            foreach (var style in styles)
            {
                style.IsSystem = style.RelatedIdentity != request.ChannelId;
            }

            Cascade <int> cascade = null;

            if (request.ChannelId == request.SiteId)
            {
                cascade = await _channelRepository.GetCascadeAsync(site, channel, async summary =>
                {
                    var count = await _contentRepository.GetCountAsync(site, summary);
                    return(new
                    {
                        Count = count
                    });
                });
            }

            var inputTypes = ListUtils.GetSelects <InputType>();

            return(new GetResult
            {
                TableName = tableName,
                RelatedIdentities = ListUtils.ToString(relatedIdentities),
                Styles = styles,
                InputTypes = inputTypes,
                Channels = cascade
            });
        }
        public async Task <ActionResult <GetResult> > Get([FromQuery] GetRequest request)
        {
            if (!await _authManager.HasSitePermissionsAsync(request.SiteId, BlockManager.PermissionsSettings))
            {
                return(Unauthorized());
            }

            var rule = await _ruleRepository.GetAsync(request.SiteId, request.RuleId) ?? new Rule
            {
                SiteId      = request.SiteId,
                AreaType    = AreaType.None,
                AllowList   = new List <string>(),
                BlockList   = new List <string>(),
                BlockMethod = BlockMethod.Warning
            };

            var areas      = _blockManager.GetAreas();
            var blockAreas = new List <IdName>();

            if (rule.BlockAreas != null && areas != null)
            {
                blockAreas = areas.Where(x => rule.BlockAreas.Contains(x.Id)).ToList();
            }

            var channels      = new List <IdName>();
            var channelIdList = await _channelRepository.GetChannelIdsAsync(request.SiteId);

            foreach (var channelId in channelIdList)
            {
                channels.Add(new IdName
                {
                    Id   = channelId,
                    Name = await _channelRepository.GetChannelNameNavigationAsync(request.SiteId, channelId)
                });
            }
            var blockChannels = new List <IdName>();

            if (rule.BlockChannels != null)
            {
                blockChannels = channels.Where(x => rule.BlockChannels.Contains(x.Id)).ToList();
            }

            return(new GetResult
            {
                Rule = rule,
                AreaTypes = ListUtils.GetSelects <AreaType>(),
                BlockAreas = blockAreas,
                BlockChannels = blockChannels
            });
        }
Beispiel #6
0
        public async Task <ActionResult <GetResult> > Get([FromQuery] SiteRequest request)
        {
            if (!await _authManager.HasSitePermissionsAsync(request.SiteId,
                                                            MenuUtils.SitePermissions.SettingsStyleSite))
            {
                return(Unauthorized());
            }

            var tableName         = _siteRepository.TableName;
            var relatedIdentities = _tableStyleRepository.GetRelatedIdentities(request.SiteId);
            var styles            = await _tableStyleRepository.GetTableStylesAsync(tableName, relatedIdentities);

            var inputTypes = ListUtils.GetSelects <InputType>();

            return(new GetResult
            {
                InputTypes = inputTypes,
                TableName = _siteRepository.TableName,
                RelatedIdentities = ListUtils.ToString(relatedIdentities),
                Styles = styles,
            });
        }
Beispiel #7
0
        public async Task <ActionResult <GetResult> > Get([FromQuery] GetRequest request)
        {
            if (!await _authManager.HasSitePermissionsAsync(request.SiteId, GatherManager.PermissionsAdd))
            {
                return(Unauthorized());
            }

            Rule          rule;
            List <string> contentHtmlClearList;
            List <string> contentHtmlClearTagList;

            if (request.RuleId > 0)
            {
                rule = await _ruleRepository.GetAsync(request.RuleId);

                contentHtmlClearList    = ListUtils.GetStringList(rule.ContentHtmlClearCollection);
                contentHtmlClearTagList = ListUtils.GetStringList(rule.ContentHtmlClearTagCollection);
            }
            else
            {
                rule = new Rule
                {
                    SiteId                        = request.SiteId,
                    Charset                       = Charset.Utf8,
                    IsSaveImage                   = true,
                    ImageSource                   = ImageSource.None,
                    IsOrderByDesc                 = true,
                    GatherUrlIsCollection         = true,
                    ContentHtmlClearCollection    = "",
                    ContentHtmlClearTagCollection = ""
                };
                contentHtmlClearList = new List <string>
                {
                    "script",
                    "object",
                    "iframe"
                };
                contentHtmlClearTagList = new List <string>
                {
                    "font",
                    "div",
                    "span"
                };
            }

            var site = await _siteRepository.GetAsync(request.SiteId);

            var channels = await _channelRepository.GetCascadeChildrenAsync(site, site.Id,
                                                                            async summary =>
            {
                var count = await _contentRepository.GetCountAsync(site, summary);
                return(new
                {
                    Count = count
                });
            });

            var charsetList = ListUtils.GetSelects <Charset>();

            var channel = await _channelRepository.GetAsync(rule.ChannelId);

            var channelIds = new List <int>();

            if (channel != null)
            {
                channelIds = ListUtils.GetIntList(channel.ParentsPath);
                channelIds.Add(rule.ChannelId);
                channelIds.Remove(site.Id);
            }

            return(new GetResult
            {
                Rule = rule,
                Channels = channels,
                ChannelIds = channelIds,
                CharsetList = charsetList,
                ContentHtmlClearList = contentHtmlClearList,
                ContentHtmlClearTagList = contentHtmlClearTagList
            });
        }