public async Task SeedStarPageAsync()
        {
            var site = await _api.Sites.GetDefaultAsync();

            var pages = await _api.Pages.GetAllAsync();

            var startPage = pages.ToList().FirstOrDefault(p => p.TypeId == "StartPage");

            if (startPage == null)
            {
                var newStartPage = await StartPage.CreateAsync(_api);

                newStartPage.Id              = Guid.NewGuid();
                newStartPage.SiteId          = site.Id;
                newStartPage.Title           = this._configuration["StartPagePageSettings:Title"];
                newStartPage.Slug            = this._configuration["StartPagePageSettings:Slug"];
                newStartPage.MetaKeywords    = this._configuration["StartPagePageSettings:MetaKeywords"];
                newStartPage.MetaDescription = this._configuration["StartPagePageSettings:MetaDescription"];
                newStartPage.NavigationTitle = this._configuration["StartPagePageSettings:NavigationTitle"];
                newStartPage.Published       = DateTime.Now;
                await _api.Pages.SaveAsync <StartPage>(newStartPage);
            }
        }
Esempio n. 2
0
        public async Task <IActionResult> Seed()
        {
            // Get the default site
            var site = await _api.Sites.GetDefaultAsync();

            // Add media assets
            var bannerId = Guid.NewGuid();

            using (var stream = System.IO.File.OpenRead("seed/pexels-photo-355423.jpeg"))
            {
                await _api.Media.SaveAsync(new Piranha.Models.StreamMediaContent()
                {
                    Id       = bannerId,
                    Filename = "pexels-photo-355423.jpeg",
                    Data     = stream
                });
            }

            // Add the blog archived
            var blogId   = Guid.NewGuid();
            var blogPage = await BlogArchive.CreateAsync(_api);

            blogPage.Id                = blogId;
            blogPage.SiteId            = site.Id;
            blogPage.Title             = "Blog Archive";
            blogPage.MetaKeywords      = "Inceptos, Tristique, Pellentesque, Lorem, Vestibulum";
            blogPage.MetaDescription   = "Morbi leo risus, porta ac consectetur ac, vestibulum at eros.";
            blogPage.NavigationTitle   = "Blog";
            blogPage.Hero.PrimaryImage = bannerId;
            blogPage.Hero.Ingress      = "Curabitur blandit tempus porttitor. Maecenas sed diam eget risus varius blandit sit amet non magna.";
            blogPage.Published         = DateTime.Now;

            await _api.Pages.SaveAsync(blogPage);

            // Add a blog post
            var postId = Guid.NewGuid();
            var post   = await BlogPost.CreateAsync(_api);

            post.Id       = postId;
            post.BlogId   = blogPage.Id;
            post.Category = "Uncategorized";
            post.Tags.Add("Ornare", "Pellentesque", "Fringilla Ridiculus");
            post.Title             = "Dapibus Cursus Justo";
            post.MetaKeywords      = "Nullam, Mollis, Cras, Sem, Ipsum";
            post.MetaDescription   = "Aenean lacinia bibendum nulla sed consectetur.";
            post.Hero.PrimaryImage = bannerId;
            post.Hero.Ingress      = "Sed posuere consectetur est at lobortis. Praesent commodo cursus magna, vel scelerisque nisl consectetur et.";
            post.Blocks.Add(new HtmlBlock
            {
                Body = "<p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Maecenas sed diam eget risus varius blandit sit amet non magna. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Curabitur blandit tempus porttitor. Maecenas faucibus mollis interdum.</p>"
            });
            post.Published = DateTime.Now;

            await _api.Posts.SaveAsync(post);

            // Add the startpage
            var startPage = await StartPage.CreateAsync(_api);

            startPage.SiteId            = site.Id;
            startPage.Title             = "Porta Tortor Euismod";
            startPage.MetaKeywords      = "Fusce, Tristique, Nullam, Parturient, Pellentesque";
            startPage.MetaDescription   = "Vestibulum id ligula porta felis euismod semper.";
            startPage.NavigationTitle   = "Home";
            startPage.Hero.PrimaryImage = bannerId;
            startPage.Hero.Ingress      = "Aenean lacinia bibendum nulla sed consectetur.";
            startPage.Blocks.Add(new HtmlBlock
            {
                Body = "<p>Nulla vitae elit libero, a pharetra augue. Curabitur blandit tempus porttitor. Nulla vitae elit libero, a pharetra augue. Donec id elit non mi porta gravida at eget metus. Curabitur blandit tempus porttitor.</p><p>Etiam porta sem malesuada magna mollis euismod. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Curabitur blandit tempus porttitor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>"
            });
            startPage.Published = DateTime.Now;

            // Add teasers
            startPage.Teasers.Add(new Teaser()
            {
                Title    = "Lorem Consectetur",
                SubTitle = "Ultricies Nullam Cras",
                Body     = "Aenean lacinia bibendum nulla sed consectetur. Donec id elit non mi porta gravida at eget metus.",
                PageLink = blogPage
            });
            startPage.Teasers.Add(new Teaser()
            {
                Title    = "Vestibulum Bibendum",
                SubTitle = "Tortor Cras Tristique",
                Body     = "Nullam id dolor id nibh ultricies vehicula ut id elit. Cras justo odio, dapibus ac facilisis in, egestas eget quam.",
                PostLink = post
            });

            await _api.Pages.SaveAsync(startPage);

            return(Redirect("~/"));
        }