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); }