private PageComponentBase CreatePageComponent(PageComponentDto dto)
        {
            List <PageComponentBase> childPageComponents = new List <PageComponentBase>();

            if (dto.PageComponents != null)
            {
                foreach (var item in dto.PageComponents)
                {
                    childPageComponents.Add(CreatePageComponent(item));
                }
            }

            PageComponentBase pageComponent = null;

            if (dto.ComponentType == "CompositeComponent")
            {
                pageComponent = new CompositeComponent(dto.Name)
                {
                    PageComponents = childPageComponents
                };
            }
            else
            {
                pageComponent = new ContentLeafComponent(dto.Name);
            }

            pageComponent.Sign    = dto.Sign;
            pageComponent.Col     = dto.Col;
            pageComponent.Height  = dto.Height;
            pageComponent.Padding = dto.Padding;

            return(pageComponent);
        }
Ejemplo n.º 2
0
        private PageComponentDto CreatePageComponentDto(PageComponentBase page)
        {
            PageComponentDto dto = new PageComponentDto();

            dto.Name    = page.Name;
            dto.Sign    = page.Sign;
            dto.Col     = page.Col;
            dto.Height  = page.Height;
            dto.Padding = page.Padding;

            if (page is CompositeComponent)
            {
                List <PageComponentDto> childs = new List <PageComponentDto>();
                var concrete = (CompositeComponent)page;

                if (concrete.PageComponents != null)
                {
                    foreach (var item in concrete.PageComponents)
                    {
                        childs.Add(CreatePageComponentDto(item));
                    }
                }
                dto.PageComponents = childs;
                dto.ComponentType  = "CompositeComponent";
            }
            else
            {
                dto.ComponentType = "ContentLeafComponent";
            }

            return(dto);
        }
Ejemplo n.º 3
0
        private PageComponentBase CreatePageComponent(PageComponentDto dto)
        {
            PageComponentBase pageComponent = null;

            if (dto.IsCompositeComponentType())
            {
                pageComponent = new CompositeComponent(dto.Name);
            }
            else if (dto.IsPageLeafComponentType())
            {
                pageComponent = new PageLeafComponent(dto.Name)
                {
                    PageLeafSetting = _objectMapper.Map <PageLeafSetting>(dto.PageLeafSetting)
                };
            }
            else if (dto.IsMenuComponentType())
            {
                pageComponent = new MenuComponent(dto.Name)
                {
                    MenuName = dto.MenuName
                };
            }
            else
            {
                pageComponent = new LeafComponent(dto.Name);
            }

            pageComponent.ComponentOSType          = ComponentOSType.CreateOSType(dto.OS);
            pageComponent.Sign                     = dto.Sign;
            pageComponent.ParentSign               = dto.ParentSign;
            pageComponent.PageComponentBaseSetting = new PageComponentBaseSetting(
                dto.PageComponentBaseSetting.SortIndex,
                dto.PageComponentBaseSetting.Width,
                dto.PageComponentBaseSetting.Height,
                dto.PageComponentBaseSetting.Padding,
                dto.PageComponentBaseSetting.Margin,
                dto.PageComponentBaseSetting.BackgroundImage,
                dto.PageComponentBaseSetting.BackgroundColor,
                dto.PageComponentBaseSetting.ClassName
                );

            var pageComponentSettings = new List <PageComponentSetting>();

            foreach (var item in dto.PageComponentSettings ?? new List <PageComponentSettingDto>())
            {
                PageComponentSetting pageComponentSetting = new PageComponentSetting()
                {
                    Name        = item.Name,
                    DisplayName = item.DisplayName,
                    SingleDatas = _objectMapper.Map <List <SingleSettingData> >(item.SingleDatas)
                };
                ((List <SingleSettingData>)pageComponentSetting.SingleDatas).ForEach(item => item.Id = 0);
                pageComponentSettings.Add(pageComponentSetting);
            }
            pageComponent.PageComponentSettings = pageComponentSettings;

            return(pageComponent);
        }
Ejemplo n.º 4
0
        private PageComponentBase CreatePageComponent(PageComponentDto dto)
        {
            PageComponentBase pageComponent = null;

            if (dto.ComponentType == "CompositeComponent")
            {
                pageComponent = new CompositeComponent(dto.Name);
            }
            else if (dto.ComponentType == "PageLeafComponent")
            {
                pageComponent = new PageLeafComponent(dto.Name);
                if (dto.TargetPageId.HasValue)
                {
                    var page = _repository.FirstOrDefault(dto.TargetPageId.Value);
                    ((PageLeafComponent)pageComponent).TargetPage = page;
                }
            }
            else
            {
                pageComponent = new LeafComponent(dto.Name);
            }

            pageComponent.Sign       = dto.Sign;
            pageComponent.ParentSign = dto.ParentSign;
            pageComponent.PageComponentBaseSetting = new PageComponentBaseSetting(
                dto.PageComponentBaseSetting.SortIndex,
                dto.PageComponentBaseSetting.Col,
                dto.PageComponentBaseSetting.Height,
                dto.PageComponentBaseSetting.Padding,
                dto.PageComponentBaseSetting.Margin,
                dto.PageComponentBaseSetting.BackgroundColor,
                dto.PageComponentBaseSetting.ClassName
                );

            var pageComponentSettings = new List <PageComponentSetting>();

            foreach (var item in dto.PageComponentSettings ?? new List <PageComponentSettingDto>())
            {
                PageComponentSetting pageComponentSetting = new PageComponentSetting()
                {
                    Name        = item.Name,
                    DisplayName = item.DisplayName,
                    Field1      = item.Field1,
                    Field2      = item.Field2,
                    Field3      = item.Field3,
                    Field4      = item.Field4,
                    Field5      = item.Field5
                };
                pageComponentSettings.Add(pageComponentSetting);
            }
            pageComponent.PageComponentSettings = pageComponentSettings;

            return(pageComponent);
        }
Ejemplo n.º 5
0
        private PageComponentDto CreatePageComponentDto(PageComponentBase component)
        {
            PageComponentDto dto = new PageComponentDto();

            dto.Id         = component.Id;
            dto.Name       = component.Name;
            dto.Sign       = component.Sign;
            dto.ParentSign = component.ParentSign;
            dto.OS         = component.ComponentOSType.OS;
            dto.PageComponentBaseSetting = _objectMapper.Map <PageComponentBaseSettingDto>(component.PageComponentBaseSetting);
            dto.PageComponentSettings    = new List <PageComponentSettingDto>();

            foreach (var item in component.PageComponentSettings)
            {
                PageComponentSettingDto pageComponentSetting = new PageComponentSettingDto()
                {
                    Id          = item.Id,
                    Name        = item.Name,
                    DisplayName = item.DisplayName,
                    SingleDatas = _objectMapper.Map <List <SingleSettingDataDto> >(item.SingleDatas)
                };

                dto.PageComponentSettings.Add(pageComponentSetting);
            }

            if (component is CompositeComponent)
            {
                dto.SetCompositeComponentType();
            }
            else if (component is PageLeafComponent)
            {
                var pageLeafComponent = (PageLeafComponent)component;
                dto.PageLeafSetting = _objectMapper.Map <PageLeafSettingDto>(pageLeafComponent.PageLeafSetting);

                dto.SetPageLeafComponentType();
            }
            else if (component is MenuComponent)
            {
                dto.MenuName = ((MenuComponent)component).MenuName;

                dto.SetMenuComponentType();
            }
            else
            {
                dto.SetLeafComponentType();
            }

            return(dto);
        }
        private PageComponentDto CreatePageComponentDto(PageComponentBase page)
        {
            PageComponentDto dto = new PageComponentDto();

            dto.Name       = page.Name;
            dto.Sign       = page.Sign;
            dto.ParentSign = page.ParentSign;
            dto.PageComponentBaseSetting = _objectMapper.Map <PageComponentBaseSettingDto>(page.PageComponentBaseSetting);
            dto.PageComponentSettings    = new List <PageComponentSettingDto>();

            foreach (var item in page.PageComponentSettings)
            {
                PageComponentSettingDto pageComponentSetting = new PageComponentSettingDto()
                {
                    Name        = item.Name,
                    DisplayName = item.DisplayName,
                    Field1      = item.Field1,
                    Field2      = item.Field2,
                    Field3      = item.Field3,
                    Field4      = item.Field4,
                    Field5      = item.Field5
                };

                dto.PageComponentSettings.Add(pageComponentSetting);
            }

            if (page is CompositeComponent)
            {
                dto.ComponentType = "CompositeComponent";
            }
            else if (page is PageLeafComponent)
            {
                var pageLeafComponent = (PageLeafComponent)page;

                dto.TargetPageId  = pageLeafComponent.TargetPageId;
                dto.ComponentType = "PageLeafComponent";
            }
            else
            {
                dto.ComponentType = "LeafComponent";
            }

            return(dto);
        }
Ejemplo n.º 7
0
        public override void Exec(ContentComponentData componentData, PageComponentBase pageComponent, PageData pageData, PageBase page, User user, string request)
        {
            if (user == null)
            {
                throw new AbpAuthorizationException("未登录,请先登录");
            }

            if (pageData == null)
            {
                throw new UserFriendlyException("组件只能在文章页面被调用");
            }

            var curComponentData = componentData;

            if (curComponentData == null)
            {
                curComponentData = CreateContentComponentData(pageComponent.Sign, pageData);
            }

            if (curComponentData.GetSingleDatas(_commentName).Count() > 1000)
            {
                throw new UserFriendlyException("评论已达到上限,无法再评论");
            }

            if (request.Length > 1000)
            {
                throw new UserFriendlyException("评论过长");
            }

            if (request.Length < 10)
            {
                throw new UserFriendlyException("评论过短");
            }

            var commentData = curComponentData.CreateSingleData(_commentName);

            commentData.Field1 = user.Id.ToString();
            commentData.Field2 = user.Name;
            commentData.Field3 = user.HeadSculpture;
            commentData.Field4 = request;
            DateTime now = DateTime.Now;

            commentData.Field5 = $"{now.Year}-{now.Month}-{now.Day} {now.Hour}:{now.Minute}";
        }
Ejemplo n.º 8
0
 public abstract void Exec(ContentComponentData componentData, PageComponentBase pageComponent, PageData pageData, PageBase page, User user, string request);