예제 #1
0
        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();
            }
        }
예제 #2
0
 public IList<CmsPage> GetUnapprovedPages(Data.Guid siteGuid)
 {
     CmsPageDao dao = new CmsPageDao();
     return dao.FindUnapprovedPages(siteGuid);
 }