private async Task <List <Guid> > GetDesignedGuidsAsync() { using (PageDefinitionDataProvider pageDP = new PageDefinitionDataProvider()) { using (ILockObject lockObject = await pageDP.LockDesignedPagesAsync()) { List <Guid> pages = (from p in await pageDP.GetDesignedPagesWithoutLockAsync() select p.Value.PageGuid).ToList(); await lockObject.UnlockAsync(); return(pages); } } }
private async Task <SerializableList <Guid> > UpdatePageGuidsAsync(Guid unifiedSetGuid, List <string> pageList) { pageList = pageList != null ? pageList : new List <string>(); SerializableList <Guid> pageGuids = new SerializableList <Guid>(); using (PageDefinitionDataProvider pageDP = new PageDefinitionDataProvider()) { // Get all pages that are currently part of the unified page set List <DataProviderFilterInfo> filters = null; filters = DataProviderFilterInfo.Join(filters, new DataProviderFilterInfo { Field = nameof(PageDefinition.UnifiedSetGuid), Operator = "==", Value = unifiedSetGuid }); DataProviderGetRecords <PageDefinition> pageDefs = await pageDP.GetItemsAsync(0, 0, null, filters); // translate page list to guid list (preserving order) foreach (string page in pageList) { PageDefinition pageDef = await pageDP.LoadPageDefinitionAsync(page); if (pageDef != null) { pageGuids.Add(pageDef.PageGuid); // check if it's already in the list PageDefinition pageFound = (from p in pageDefs.Data where p.Url == page select p).FirstOrDefault(); if (pageFound == null) { // page not in list, add it pageDef.UnifiedSetGuid = unifiedSetGuid; await pageDP.SavePageDefinitionAsync(pageDef); } else if (pageFound.UnifiedSetGuid != unifiedSetGuid) { // page in list but with the wrong unifiedSetGuid pageDef.UnifiedSetGuid = unifiedSetGuid; await pageDP.SavePageDefinitionAsync(pageDef); pageDefs.Data.Remove(pageFound); } else { // page already in list pageDefs.Data.Remove(pageFound); } } } // remove all remaining pages from unified page set, they're no longer in the list foreach (PageDefinition pageDef in pageDefs.Data) { pageDef.UnifiedSetGuid = null; await pageDP.SavePageDefinitionAsync(pageDef); } } return(pageGuids); }
private async Task <List <string> > GetPageListFromGuidsAsync(SerializableList <Guid> pageGuids) { List <string> pages = new List <string>(); using (PageDefinitionDataProvider pageDP = new PageDefinitionDataProvider()) { foreach (Guid pageGuid in pageGuids) { PageDefinition page = await pageDP.LoadPageDefinitionAsync(pageGuid); if (page != null) { pages.Add(page.Url); } } } return(pages); }
private async Task RemoveGuidAsync(Guid unifiedSetGuid) { using (PageDefinitionDataProvider pageDP = new PageDefinitionDataProvider()) { // Get all pages that are part of the unified page set List <DataProviderFilterInfo> filters = null; filters = DataProviderFilterInfo.Join(filters, new DataProviderFilterInfo { Field = nameof(PageDefinition.UnifiedSetGuid), Operator = "==", Value = unifiedSetGuid }); DataProviderGetRecords <PageDefinition> pageDefs = await pageDP.GetItemsAsync(0, 0, null, filters); // remove all pages from unified page set if they're not within the page list foreach (PageDefinition pageDef in pageDefs.Data) { pageDef.UnifiedSetGuid = null; await pageDP.SavePageDefinitionAsync(pageDef); } } }
private async Task <PageDefinition> LoadPageDefinitionAsync(Guid key) { using (PageDefinitionDataProvider pageDP = new PageDefinitionDataProvider()) { return(await pageDP.LoadPageDefinitionAsync(key)); } }
private async Task <PageDefinition> CreatePageDefinitionAsync(string url) { using (PageDefinitionDataProvider pageDP = new PageDefinitionDataProvider()) { return(await pageDP.CreatePageDefinitionAsync(url)); } }
private async Task SavePageDefinitionAsync(PageDefinition page) { using (PageDefinitionDataProvider pageDP = new PageDefinitionDataProvider()) { await pageDP.SavePageDefinitionAsync(page); } }
private async Task <bool> RemovePageDefinitionAsync(Guid pageGuid) { using (PageDefinitionDataProvider pageDP = new PageDefinitionDataProvider()) { return(await pageDP.RemovePageDefinitionAsync(pageGuid)); } }
private async Task <List <PageDefinition> > GetPagesFromModuleAsync(Guid moduleGuid) { using (PageDefinitionDataProvider pageDP = new PageDefinitionDataProvider()) { return(await pageDP.GetPagesFromModuleAsync(moduleGuid)); } }