Exemple #1
0
        /// <summary>
        /// Archives the sitemap.
        /// </summary>
        /// <param name="sitemap">The sitemap.</param>
        public void ArchiveSitemap(Sitemap sitemap)
        {
            var archive = new SitemapArchive
            {
                Sitemap         = sitemap,
                Title           = sitemap.Title,
                ArchivedVersion = ToJson(sitemap)
            };

            repository.Save(archive);
        }
Exemple #2
0
        /// <summary>
        /// Restores the sitemap from archive.
        /// </summary>
        /// <param name="archive">The archive.</param>
        /// <returns>
        /// Restored sitemap.
        /// </returns>
        public Sitemap RestoreSitemapFromArchive(SitemapArchive archive)
        {
            var sitemap         = archive.Sitemap;
            var archivedSitemap = FromJson(archive.ArchivedVersion);

            foreach (var sitemapNode in sitemap.Nodes)
            {
                repository.Delete(sitemapNode);
            }

            sitemap.Title = archive.Title;
            repository.Save(sitemap);

            RestoreTheNodes(sitemap, null, archivedSitemap.Nodes.Where(node => node.ParentNode == null).OrderBy(node => node.DisplayOrder).ToList());

            return(sitemap);
        }
Exemple #3
0
        /// <summary>
        /// Restores the sitemap from archive.
        /// </summary>
        /// <param name="archive">The archive.</param>
        /// <returns>
        /// Restored sitemap.
        /// </returns>
        public Sitemap RestoreSitemapFromArchive(SitemapArchive archive)
        {
            var sitemap = archive.Sitemap;
            var archivedSitemap = FromJson(archive.ArchivedVersion);

            foreach (var sitemapNode in sitemap.Nodes)
            {
                repository.Delete(sitemapNode);
            }

            sitemap.Title = archive.Title;
            repository.Save(sitemap);

            RestoreTheNodes(sitemap, null, archivedSitemap.Nodes.Where(node => node.ParentNode == null).OrderBy(node => node.DisplayOrder).ToList());

            return sitemap;
        }
Exemple #4
0
        /// <summary>
        /// Archives the sitemap.
        /// </summary>
        /// <param name="sitemap">The sitemap.</param>
        public void ArchiveSitemap(Sitemap sitemap)
        {
            var archive = new SitemapArchive
            {
                Sitemap = sitemap,
                Title = sitemap.Title,
                ArchivedVersion = ToJson(sitemap)
            };

            repository.Save(archive);
        }