Esempio n. 1
0
        /// <summary>
        /// Seeds the default data.
        /// </summary>
        private void Seed()
        {
            SaveChanges();

            //
            // Params
            //
            var param = Params.FirstOrDefault(p => p.Key == Config.ARCHIVE_PAGE_SIZE);

            if (param == null)
            {
                Params.Add(new Data.Param
                {
                    Id           = Guid.NewGuid(),
                    Key          = Config.ARCHIVE_PAGE_SIZE,
                    Value        = 5.ToString(),
                    Created      = DateTime.Now,
                    LastModified = DateTime.Now
                });
            }

            param = Params.FirstOrDefault(p => p.Key == Config.CACHE_EXPIRES_PAGES);
            if (param == null)
            {
                Params.Add(new Data.Param
                {
                    Id           = Guid.NewGuid(),
                    Key          = Config.CACHE_EXPIRES_PAGES,
                    Value        = 0.ToString(),
                    Created      = DateTime.Now,
                    LastModified = DateTime.Now
                });
            }

            param = Params.FirstOrDefault(p => p.Key == Config.CACHE_EXPIRES_POSTS);
            if (param == null)
            {
                Params.Add(new Data.Param
                {
                    Id           = Guid.NewGuid(),
                    Key          = Config.CACHE_EXPIRES_POSTS,
                    Value        = 0.ToString(),
                    Created      = DateTime.Now,
                    LastModified = DateTime.Now
                });
            }

            param = Params.FirstOrDefault(p => p.Key == Config.PAGES_HIERARCHICAL_SLUGS);
            if (param == null)
            {
                Params.Add(new Data.Param
                {
                    Id           = Guid.NewGuid(),
                    Key          = Config.PAGES_HIERARCHICAL_SLUGS,
                    Value        = true.ToString(),
                    Created      = DateTime.Now,
                    LastModified = DateTime.Now
                });
            }

            param = Params.FirstOrDefault(p => p.Key == Config.MANAGER_EXPANDED_SITEMAP_LEVELS);
            if (param == null)
            {
                Params.Add(new Data.Param
                {
                    Id           = Guid.NewGuid(),
                    Key          = Config.MANAGER_EXPANDED_SITEMAP_LEVELS,
                    Value        = 1.ToString(),
                    Created      = DateTime.Now,
                    LastModified = DateTime.Now
                });
            }

            param = Params.FirstOrDefault(p => p.Key == Config.MEDIA_CDN_URL);
            if (param == null)
            {
                Params.Add(new Data.Param
                {
                    Id           = Guid.NewGuid(),
                    Key          = Config.MEDIA_CDN_URL,
                    Created      = DateTime.Now,
                    LastModified = DateTime.Now
                });
            }

            //
            // Default site
            //
            if (Sites.Count() == 0)
            {
                Sites.Add(new Data.Site
                {
                    Id           = Guid.NewGuid(),
                    InternalId   = "Default",
                    IsDefault    = true,
                    Title        = "Default Site",
                    Created      = DateTime.Now,
                    LastModified = DateTime.Now
                });
            }

            //
            // Make sure we don't have NULL values in Piranha_MediaVersions.FileExtension
            //
            var versions = MediaVersions
                           .Where(m => m.FileExtension == null)
                           .ToList();

            foreach (var version in versions)
            {
                version.FileExtension = ".jpg";
            }

            SaveChanges();
        }
Esempio n. 2
0
        /// <summary>
        /// Seeds the default data.
        /// </summary>
        private void Seed()
        {
            SaveChanges();

            //
            // Params
            //
            var param = Params.FirstOrDefault(p => p.Key == Config.ARCHIVE_PAGE_SIZE);

            if (param == null)
            {
                Params.Add(new Data.Param
                {
                    Id           = Guid.NewGuid(),
                    Key          = Config.ARCHIVE_PAGE_SIZE,
                    Value        = 5.ToString(),
                    Created      = DateTime.Now,
                    LastModified = DateTime.Now
                });
            }

            param = Params.FirstOrDefault(p => p.Key == Config.CACHE_EXPIRES_PAGES);
            if (param == null)
            {
                Params.Add(new Data.Param
                {
                    Id           = Guid.NewGuid(),
                    Key          = Config.CACHE_EXPIRES_PAGES,
                    Value        = 0.ToString(),
                    Created      = DateTime.Now,
                    LastModified = DateTime.Now
                });
            }

            param = Params.FirstOrDefault(p => p.Key == Config.CACHE_EXPIRES_POSTS);
            if (param == null)
            {
                Params.Add(new Data.Param
                {
                    Id           = Guid.NewGuid(),
                    Key          = Config.CACHE_EXPIRES_POSTS,
                    Value        = 0.ToString(),
                    Created      = DateTime.Now,
                    LastModified = DateTime.Now
                });
            }

            param = Params.FirstOrDefault(p => p.Key == Config.PAGES_HIERARCHICAL_SLUGS);
            if (param == null)
            {
                Params.Add(new Data.Param
                {
                    Id           = Guid.NewGuid(),
                    Key          = Config.PAGES_HIERARCHICAL_SLUGS,
                    Value        = true.ToString(),
                    Created      = DateTime.Now,
                    LastModified = DateTime.Now
                });
            }

            param = Params.FirstOrDefault(p => p.Key == Config.MANAGER_EXPANDED_SITEMAP_LEVELS);
            if (param == null)
            {
                Params.Add(new Data.Param
                {
                    Id           = Guid.NewGuid(),
                    Key          = Config.MANAGER_EXPANDED_SITEMAP_LEVELS,
                    Value        = 1.ToString(),
                    Created      = DateTime.Now,
                    LastModified = DateTime.Now
                });
            }

            param = Params.FirstOrDefault(p => p.Key == Config.MEDIA_CDN_URL);
            if (param == null)
            {
                Params.Add(new Data.Param
                {
                    Id           = Guid.NewGuid(),
                    Key          = Config.MEDIA_CDN_URL,
                    Created      = DateTime.Now,
                    LastModified = DateTime.Now
                });
            }

            //
            // Default language
            //
            var langId = Guid.NewGuid();

            if (Languages.Count() == 0)
            {
                Languages.Add(new Data.Language
                {
                    Id        = langId,
                    Title     = "Default",
                    Culture   = "en-US",
                    IsDefault = true
                });
            }
            else
            {
                langId = Languages.FirstOrDefault(l => l.IsDefault).Id;
            }

            //
            // Default site
            //
            if (Sites.Count() == 0)
            {
                Sites.Add(new Data.Site
                {
                    Id           = Guid.NewGuid(),
                    LanguageId   = langId,
                    InternalId   = "Default",
                    IsDefault    = true,
                    Title        = "Default Site",
                    Created      = DateTime.Now,
                    LastModified = DateTime.Now
                });
            }
            else
            {
                // When upgrading, make sure we assign the default language id
                // to already created sites.
                foreach (var site in Sites.Where(s => s.LanguageId == Guid.Empty))
                {
                    site.LanguageId = langId;
                }
            }

            //
            // Make sure we don't have NULL values in Piranha_MediaVersions.FileExtension
            //
            var versions = MediaVersions
                           .Where(m => m.FileExtension == null)
                           .ToList();

            foreach (var version in versions)
            {
                version.FileExtension = ".jpg";
            }

            var pageBlocks = PageBlocks
                             .Where(b => b.ParentId.HasValue)
                             .ToList();
            var pageBlocksId = pageBlocks.Select(b => b.BlockId).ToList();
            var blocks       = Blocks
                               .Where(b => pageBlocksId.Contains(b.Id))
                               .ToList();

            foreach (var block in blocks)
            {
                var pageBlock = pageBlocks.Single(b => b.BlockId == block.Id);
                block.ParentId     = pageBlock.ParentId;
                pageBlock.ParentId = null;
            }
            var postBlocks = PostBlocks
                             .Where(b => b.ParentId.HasValue)
                             .ToList();
            var postBlocksId = postBlocks.Select(b => b.BlockId).ToList();

            blocks = Blocks
                     .Where(b => postBlocksId.Contains(b.Id))
                     .ToList();
            foreach (var block in blocks)
            {
                var postBlock = postBlocks.Single(b => b.BlockId == block.Id);
                block.ParentId     = postBlock.ParentId;
                postBlock.ParentId = null;
            }

            SaveChanges();
        }