private IEnumerable <MasterPageZoneElement> GetMasterPageZoneElements(MasterPage masterPage, long masterPageZoneId) { MasterPageZone masterPageZone = masterPage.MasterPageZones.Where(z => z.MasterPageZoneId == masterPageZoneId).FirstOrDefault(); if (masterPageZone == null) { return(Enumerable.Empty <MasterPageZoneElement>()); } else { return(masterPageZone.MasterPageZoneElements); } }
private PageViewZone GetPageViewZoneFromMasterPageZone(long pageId, MasterPageZone masterPageZone) { PageViewZone pageViewZone = new PageViewZone { TenantId = masterPageZone.TenantId, MasterPageId = masterPageZone.MasterPageId, MasterPageZoneId = masterPageZone.MasterPageZoneId, PageId = pageId, BeginRender = masterPageZone.BeginRender, EndRender = masterPageZone.EndRender }; return(pageViewZone); }
public async Task <PageViewZone> ReadPageViewZoneAsync(long tenantId, long pageId, long masterPageZoneId) { Page page = await _pageRepository.ReadPageAsync(tenantId, pageId); if (page == null) { return(null); } MasterPageZone masterPageZone = await _masterPageRepository.ReadMasterPageZoneAsync(tenantId, page.MasterPageId, masterPageZoneId); if (masterPageZone == null) { return(null); } return(GetPageViewZoneFromMasterPageZone(pageId, masterPageZone)); }
public async Task <IEnumerable <PageViewZoneElement> > SearchPageViewZoneElementsAsync(long tenantId, long pageId, long masterPageZoneId) { Page page = await _pageRepository.ReadPageAsync(tenantId, pageId); if (page == null) { return(Enumerable.Empty <PageViewZoneElement>()); } MasterPageZone masterPageZone = await _masterPageRepository.ReadMasterPageZoneAsync(tenantId, page.MasterPageId, masterPageZoneId); if (masterPageZone == null) { return(Enumerable.Empty <PageViewZoneElement>()); } switch (masterPageZone.AdminType) { case AdminType.Editable: long?editablePageZoneId = await GetPageZoneId(tenantId, pageId, masterPageZoneId); if (editablePageZoneId == null) { return(Enumerable.Empty <PageViewZoneElement>()); } IEnumerable <PageZoneElement> editablePageZoneElements = await _pageRepository.SearchPageZoneElementsAsync(tenantId, pageId, editablePageZoneId.Value); IEnumerable <MasterPageZoneElement> editableMasterPageZoneElements = await _masterPageRepository.SearchMasterPageZoneElementsAsync(tenantId, page.MasterPageId, masterPageZoneId); return(EnumeratePageViewZoneElements(editablePageZoneElements, editableMasterPageZoneElements)); case AdminType.Configurable: long?pageZoneId = await GetPageZoneId(tenantId, pageId, masterPageZoneId); if (pageZoneId == null) { return(Enumerable.Empty <PageViewZoneElement>()); } IEnumerable <PageZoneElement> pageZoneElements = await _pageRepository.SearchPageZoneElementsAsync(tenantId, pageId, pageZoneId.Value); return(EnumeratePageViewZoneElements(pageZoneElements)); default: // AdminType.Static IEnumerable <MasterPageZoneElement> masterPageZoneElements = await _masterPageRepository.SearchMasterPageZoneElementsAsync(tenantId, page.MasterPageId, masterPageZoneId); return(EnumeratePageViewZoneElements(masterPageZoneElements)); } }
private IEnumerable <PageViewZoneElement> SearchPageViewZoneElements(MasterPage masterPage, Page page, MasterPageZone masterPageZone) { switch (masterPageZone.AdminType) { case AdminType.Editable: IEnumerable <PageZoneElement> editablePageZoneElements = GetPageZoneElements(page, masterPageZone.MasterPageZoneId); IEnumerable <MasterPageZoneElement> editableMasterPageZoneElements = GetMasterPageZoneElements(masterPage, masterPageZone.MasterPageZoneId); return(EnumeratePageViewZoneElements(editablePageZoneElements, editableMasterPageZoneElements)); case AdminType.Configurable: IEnumerable <PageZoneElement> pageZoneElements = GetPageZoneElements(page, masterPageZone.MasterPageZoneId); return(EnumeratePageViewZoneElements(pageZoneElements)); default: // AdminType.Static IEnumerable <MasterPageZoneElement> masterPageZoneElements = GetMasterPageZoneElements(masterPage, masterPageZone.MasterPageZoneId); return(EnumeratePageViewZoneElements(masterPageZoneElements)); } }
private async Task <PageViewZone> GetPageViewZoneFromMasterPageZoneAsync(Page page, MasterPageZone masterPageZone) { PageViewZone pageViewZone = new PageViewZone { TenantId = masterPageZone.TenantId, MasterPageId = masterPageZone.MasterPageId, MasterPageZoneId = masterPageZone.MasterPageZoneId, PageId = page.PageId, BeginRender = masterPageZone.BeginRender, EndRender = masterPageZone.EndRender, PageViewZoneElements = await SearchPageViewZoneElementsAsync(page, masterPageZone) }; return(pageViewZone); }