public void RemoveObsoletePages(CmsPage page) { CmsPageDao dao = new CmsPageDao(); IList<CmsPage> unapproved = dao.FindUnapprovedPages(Data.Guid.New(page.SubscriptionId),Data.Hash.New(page.UrlHash)); IList<CmsPage> approved = dao.FindApprovedPages(Data.Guid.New(page.SubscriptionId), Data.Hash.New(page.UrlHash)); IStorageClient client = StorageHelper.GetStorageClient(); String container = SiteHelper.GetStorageKey(SiteHelper.PageContainerKey, page.SubscriptionId); //Loop through all of the unapproved pages and remove any old versions. //Start at the first one, since we always want to leave the latest unapproved version using (Transaction tx = new Transaction()) { for (int i = 1; i < unapproved.Count; i++) { client.Delete(container, StorageClientConst.RootFolder, unapproved[i].Guid); dao.Delete<CmsPage>(unapproved[i]); } tx.Commit(); } //Loop through all of the approved pages and remove any old versions. //Start at the first one, since we always want to leave the latest approved version using (Transaction tx = new Transaction()) { for (int i = 1; i < approved.Count; i++) { client.Delete(container, StorageClientConst.RootFolder, approved[i].Guid); dao.Delete<CmsPage>(approved[i]); } tx.Commit(); } }
public IList<CmsPage> GetUnapprovedPages(Data.Guid siteGuid) { CmsPageDao dao = new CmsPageDao(); return dao.FindUnapprovedPages(siteGuid); }