public GetPageOutput GetPage(GetPageInput input)
        {
            PageBase page = null;

            if (input.Id != null)
            {
                page = _repository.ThenInclude(p => p.PageComponents, pageComponent => pageComponent.PageComponentSettings).FirstOrDefault(e => e.Id == input.Id.Value);
            }

            if (page == null && !string.IsNullOrWhiteSpace(input.Name))
            {
                page = _repository.ThenInclude(p => p.PageComponents, pageComponent => pageComponent.PageComponentSettings).FirstOrDefault(item => item.Name == input.Name);
            }

            if (page == null)
            {
                return(new GetPageOutput()
                {
                    Page = null
                });
            }



            return(new GetPageOutput()
            {
                Page = CreatePageDtos(page)
            });
        }
Exemple #2
0
        /// <summary>
        /// 获取页面
        /// </summary>
        /// <param name="input"></param>
        /// <returns>如果不存在页面,需返回 null</returns>
        public GetPageOutput GetPage(GetPageInput input)
        {
            // 如果输入的是数值字符串,会试图转为 PageId
            int pageId;

            if (int.TryParse(input.Name, out pageId))
            {
                string pageName = _pageManager.GetPageNameCache(pageId);

                if (!string.IsNullOrWhiteSpace(pageName))
                {
                    input.Name = pageName;
                }
            }

            PageBase page = _pageManager.GetPageForCache(input.Name);

            if (page == null)
            {
                return(new GetPageOutput()
                {
                    Page = null, DefaultComponentDatas = new List <ComponentDataDto>()
                });
            }

            return(new GetPageOutput()
            {
                Page = CreatePageDtos(page),
                DefaultComponentDatas = _objectMapper.Map <List <ComponentDataDto> >(_componentDataManager.GetDefaultComponentsForCache(page.Name)),
                PageComponents = _pageComponentManager.GetPageComponentsForCache(page.Name).Select(item => CreatePageComponentDto(item)).ToList()
            });
        }
Exemple #3
0
        public GetPageOutput GetPage(GetPageInput input)
        {
            var page = _repository.FirstOrDefault(item => item.Name == input.Name);

            return(new GetPageOutput()
            {
                Page = AutoMapper.Mapper.Map <PageDto>(page)
            });
        }
Exemple #4
0
        /// <summary>
        /// 获取页面
        /// </summary>
        /// <param name="input"></param>
        /// <returns>如果不存在页面,需返回 null</returns>
        public GetPageOutput GetPage(GetPageInput input)
        {
            // 如果输入的是数值字符串,会试图转为 PageId
            int pageId;

            if (int.TryParse(input.Name, out pageId))
            {
                string pageName = _pageManager.GetPageNameCache(pageId);

                if (!string.IsNullOrWhiteSpace(pageName))
                {
                    input.Name = pageName;
                }
            }

            PageBase page = _pageManager.GetPageForCache(input.Name);

            if (page == null)
            {
                return(new GetPageOutput()
                {
                    Page = null, DefaultComponentDatas = new List <ComponentDataDto>()
                });
            }

            Expression <Func <DefaultComponentData, object> >[] propertySelectors =
            {
                e => e.SingleDatas
            };
            var defaultComponentDatas = _defaultDataRepository.GetAllIncluding(propertySelectors).Where(e => e.PageId == page.Id).ToList();

            return(new GetPageOutput()
            {
                Page = CreatePageDtos(page),
                DefaultComponentDatas = _objectMapper.Map <List <ComponentDataDto> >(defaultComponentDatas)
            });
        }