public void Localize(Models.Page o, Models.Site targetSite) { var serviceContext = CloudTableHelper.GetTableServiceContext(); LocalizeWithChildPages(serviceContext, o, targetSite); serviceContext.SaveChangesWithRetries(); }
static LabelRepository() { CloudTableClient tableClient = CloudTableHelper.GetTableClient(); tableClient.CreateTableIfNotExist <CategoryEntity>(LabelCategoryTable); tableClient.CreateTableIfNotExist <LabelEntity>(LabelTable); }
private IEnumerable <Page> QueryBySite(Site site) { return(CloudTableHelper.GetTableServiceContext().CreateQuery <PageEntity>(PageTable) .Where(it => it.PartitionKey == site.FullName && it.ParentPage == "") .ToArray() .Select(it => PageEntityHelper.ToPage(it))); }
private IEnumerable <HtmlBlock> QueryBySite(Site site) { return(CloudTableHelper.GetTableServiceContext().CreateQuery <HtmlBlockEntity>(HtmlBlockTable) .Where(it => it.PartitionKey == site.FullName) .ToArray() .Select(it => it.ToHtmlBlock())); }
public Models.HtmlBlock Get(Models.HtmlBlock dummy) { var entity = CloudTableHelper.GetTableServiceContext().CreateQuery <HtmlBlockEntity>(HtmlBlockTable) .Where(it => it.PartitionKey == dummy.Site.FullName && it.RowKey == dummy.Name) .FirstOrDefault(); return(entity == null ? null : entity.ToHtmlBlock()); }
private IQueryable <Page> AllPagesNested(Site site) { return(CloudTableHelper.GetTableServiceContext().CreateQuery <PageEntity>(PageTable) .Where(it => it.SiteName == site.FullName) .ToArray() .Select(it => PageEntityHelper.ToPage(it)) .AsQueryable()); }
public Models.Page Get(Models.Page dummy) { var entity = CloudTableHelper.GetTableServiceContext().CreateQuery <PageEntity>(PageTable) .Where(it => it.PartitionKey == dummy.Site.FullName && it.RowKey == dummy.FullName) .FirstOrDefault(); return(PageEntityHelper.ToPage(entity)); }
public Models.User Get(Models.User dummy) { var entity = CloudTableHelper.GetTableServiceContext().CreateQuery <SiteUserEntity>(SiteUsersTable) .Where(it => it.SiteName == dummy.Site.FullName && it.UserName == dummy.UserName) .FirstOrDefault(); return(entity == null ? null : SiteUserHelper.ToUser(entity)); }
public IEnumerable <Models.User> All(Models.Site site) { return(CloudTableHelper.GetTableServiceContext().CreateQuery <SiteUserEntity>(SiteUsersTable) .Where(it => it.SiteName == site.FullName) .ToArray() .Select(it => SiteUserHelper.ToUser(it)) .AsQueryable()); }
public void Move(Models.Site site, string pageFullName, string newParent) { var serviceContext = CloudTableHelper.GetTableServiceContext(); MovePageRecursively(site, pageFullName, newParent, serviceContext); serviceContext.SaveChangesWithRetries(); }
public IQueryable <ElementCategory> Categories() { return(CloudTableHelper.GetTableServiceContext().CreateQuery <CategoryEntity>(LabelCategoryTable) .Where(it => it.PartitionKey == SiteName) .ToArray() .Select(it => it.ToElementCategory()) .AsQueryable()); }
static PageProvider() { CloudTableClient tableClient = CloudTableHelper.GetTableClient(); tableClient.CreateTableIfNotExist <PageEntity>(PageTable); tableClient.CreateTableIfNotExist <PageEntity>(PageDraftTable); }
public void AddCategory(string category, string culture) { var serviceContext = CloudTableHelper.GetTableServiceContext(); var entity = new CategoryEntity(SiteName, category); serviceContext.AddObject(LabelCategoryTable, entity); serviceContext.SaveChangesWithRetries(); }
public IQueryable <Models.Page> ChildPages(Models.Page parentPage) { return(CloudTableHelper.GetTableServiceContext().CreateQuery <PageEntity>(PageTable) .Where(it => it.PartitionKey == parentPage.Site.FullName && it.ParentPage == parentPage.FullName) .ToArray() .Select(it => PageEntityHelper.ToPage(it)) .AsQueryable()); }
public async Task CreatesAnEntryInTheTable_IfNew() { await _sut.RunAsync(CloudTableHelper.BeyondPodPodCast, _cloudTable, _collector, _logger.Object); var list = await CloudTableHelper.GetAllCloudTableEntities(_cloudTable); Assert.Single(list); Assert.Equal(CloudTableHelper.BeyondPodPodCast.EpisodeName, list.First().EpisodeName); }
public async Task WillSaveNewRecord() { await _sut.Save(CloudTableHelper.TableEntityPodCast); var list = await CloudTableHelper.GetAllCloudTableEntities(_cloudTable); Assert.Single(list); Assert.Equal(CloudTableHelper.BeyondPodPodCast.EpisodeName, list.First().EpisodeName); }
public Models.Page GetDefaultPage(Models.Site site) { var entity = CloudTableHelper.GetTableServiceContext().CreateQuery <PageEntity>(PageTable) .Where(it => it.PartitionKey == site.FullName) .Where(it => it.IsDefault == true) .FirstOrDefault(); return(PageEntityHelper.ToPage(entity)); }
public Element Get(string name, string category, string culture) { var entity = new LabelEntity(SiteName, name, "", category); return(CloudTableHelper.GetTableServiceContext().CreateQuery <LabelEntity>(LabelTable) .Where(it => it.PartitionKey == entity.SiteName && it.RowKey == entity.RowKey) .ToArray() .Select(it => it.ToElement()) .FirstOrDefault()); }
public void Clear(Site site) { var serviceContext = CloudTableHelper.GetTableServiceContext(); var entities = serviceContext.CreateQuery <HtmlBlockEntity>(HtmlBlockTable) .Where(it => it.PartitionKey == site.FullName); foreach (var item in entities) { serviceContext.DeleteObject(item); } serviceContext.SaveChangesWithRetries(); }
public void Clear() { var serviceContext = CloudTableHelper.GetTableServiceContext(); var entities = serviceContext.CreateQuery <LabelEntity>(LabelTable) .Where(it => it.SiteName == SiteName); foreach (var item in entities) { serviceContext.DeleteObject(item); } serviceContext.SaveChangesWithRetries(); }
public void Localize(Models.HtmlBlock o, Models.Site targetSite) { var htmlBlock = Get(o); var entity = new HtmlBlockEntity(htmlBlock); entity.SiteName = targetSite.FullName; var serviceContext = CloudTableHelper.GetTableServiceContext(); serviceContext.AddObject(HtmlBlockTable, entity); serviceContext.SaveChangesWithRetries(); }
public void RemoveDraft(Models.Page page) { var serviceContext = CloudTableHelper.GetTableServiceContext(); var entity = serviceContext.CreateQuery <PageEntity>(PageDraftTable) .Where(it => it.PartitionKey == page.Site.FullName && it.RowKey == page.FullName) .Select(it => PageEntityHelper.ToPage(it)).FirstOrDefault(); if (entity != null) { serviceContext.DeleteObject(entity); serviceContext.SaveChangesWithRetries(); } }
public void Remove(Models.HtmlBlock item) { var serviceContext = CloudTableHelper.GetTableServiceContext(); var entity = serviceContext.CreateQuery <HtmlBlockEntity>(HtmlBlockTable) .Where(it => it.PartitionKey == item.Site.FullName && it.RowKey == item.Name) .FirstOrDefault(); if (entity != null) { serviceContext.DeleteObject(entity); serviceContext.SaveChangesWithRetries(); } }
public void Remove(Models.Page item) { var serviceContext = CloudTableHelper.GetTableServiceContext(); var entity = serviceContext.CreateQuery <PageEntity>(PageTable) .Where(it => it.PartitionKey == item.Site.FullName && it.RowKey == item.FullName) .FirstOrDefault(); if (entity != null) { RemovePageWithChildPages(serviceContext, entity); serviceContext.SaveChangesWithRetries(); } }
public bool Remove(Element element) { var entity = new LabelEntity(SiteName, element); var serviceContext = CloudTableHelper.GetTableServiceContext(); entity = serviceContext.CreateQuery <LabelEntity>(LabelTable) .Where(it => it.PartitionKey == SiteName && it.RowKey == entity.RowKey) .FirstOrDefault(); if (entity != null) { serviceContext.DeleteObject(entity); serviceContext.SaveChangesWithRetries(); } return(true); }
private void InsertOrUpdate(Models.User @new, Models.User old) { var entity = SiteUserHelper.ToEntity(@new); var serviceContext = CloudTableHelper.GetTableServiceContext(); if (Get(old) == null) { serviceContext.AddObject(SiteUsersTable, entity); } else { serviceContext.AttachTo(SiteUsersTable, entity, "*"); serviceContext.UpdateObject(entity); } serviceContext.SaveChangesWithRetries(); }
private void InsertOrUpdate(Models.HtmlBlock @new, Models.HtmlBlock old) { var serviceContext = CloudTableHelper.GetTableServiceContext(); var entity = new HtmlBlockEntity(@new); if (Get(old) == null) { serviceContext.AddObject(HtmlBlockTable, entity); } else { serviceContext.AttachTo(HtmlBlockTable, entity, "*"); serviceContext.UpdateObject(entity); } serviceContext.SaveChangesWithRetries(); }
public async Task WillUpdateExistingRecord() { await CloudTableHelper.AddToCloudTableEntities(_cloudTable, CloudTableHelper.TableEntityPodCast); var existingRecord = await _sut.Get(CloudTableHelper.TableEntityPodCast.PartitionKey, CloudTableHelper.TableEntityPodCast.RowKey); existingRecord.EpisodePosition = 1000; await _sut.Save(existingRecord); var list = await CloudTableHelper.GetAllCloudTableEntities(_cloudTable); Assert.Single(list); Assert.Equal(1000, list.First().EpisodePosition); }
public async Task WillThrowExceptionIfRecordHasChanged() { await CloudTableHelper.AddToCloudTableEntities(_cloudTable, CloudTableHelper.TableEntityPodCast); var v1 = await _sut.Get(CloudTableHelper.TableEntityPodCast.PartitionKey, CloudTableHelper.TableEntityPodCast.RowKey); var v2 = await _sut.Get(CloudTableHelper.TableEntityPodCast.PartitionKey, CloudTableHelper.TableEntityPodCast.RowKey); v1.EpisodePosition = 1000; v2.EpisodePosition = 1001; await _sut.Save(v2); await Assert.ThrowsAsync <StorageException>(() => _sut.Save(v1)); }
public void SaveAsDraft(Models.Page page) { var entity = PageEntityHelper.ToPageEntity(page); var serviceContext = CloudTableHelper.GetTableServiceContext(); if (GetDraft(page) != null) { serviceContext.AttachTo(PageDraftTable, entity); serviceContext.UpdateObject(entity); } else { serviceContext.AddObject(PageDraftTable, entity); } serviceContext.SaveChangesWithRetries(); }