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); }
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); }
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); }
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); }
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); }
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}"; }
public abstract void Exec(ContentComponentData componentData, PageComponentBase pageComponent, PageData pageData, PageBase page, User user, string request);