示例#1
0
        /// <summary>
        /// Maps the basic properties on a PageRenderDetails.
        /// </summary>
        /// <remarks>
        /// This isn't a very fully featured map function and will likey
        /// be reworked later on.
        /// </remarks>
        public PageRenderDetails Map(
            PageVersion dbPageVersion
            )
        {
            var page = new PageRenderDetails()
            {
                MetaDescription = dbPageVersion.MetaDescription,
                PageId          = dbPageVersion.PageId,
                PageVersionId   = dbPageVersion.PageVersionId,
                Title           = dbPageVersion.Title,
                WorkFlowStatus  = (WorkFlowStatus)dbPageVersion.WorkFlowStatusId
            };

            page.OpenGraph = _openGraphDataMapper.Map(dbPageVersion);
            page.Template  = _pageTemplateMapper.Map(dbPageVersion.PageTemplate);

            page.Regions = dbPageVersion
                           .PageTemplate
                           .PageTemplateRegions
                           .Select(r => new PageRegionRenderDetails()
            {
                PageTemplateRegionId = r.PageTemplateRegionId,
                Name = r.Name
                       // Blocks mapped elsewhere
            })
                           .ToList();

            return(page);
        }
        private void MapInternal(PageVersion dbPageVersion, PageRenderDetails page)
        {
            page.Template = _pageTemplateMapper.Map(dbPageVersion.PageTemplate);

            page.Regions = dbPageVersion
                           .PageTemplate
                           .PageTemplateRegions
                           .Select(r => new PageRegionRenderDetails()
            {
                PageTemplateRegionId = r.PageTemplateRegionId,
                Name = r.Name
                       // Blocks mapped elsewhere
            })
                           .ToList();
        }