public override async Task InitializeAsync() { using (var api = CreateApi()) { Piranha.App.Init(api); new ContentTypeBuilder(api) .AddType(typeof(MyPage)) .AddType(typeof(MySiteContent)) .Build(); await api.Sites.SaveAsync(new Site { Id = SITE_1_ID, SiteTypeId = "MySiteContent", InternalId = SITE_1, Title = SITE_1, Hostnames = SITE_1_HOSTS, IsDefault = true }); await api.Sites.SaveAsync(new Site { InternalId = SITE_4, Title = SITE_4 }); await api.Sites.SaveAsync(new Site { InternalId = SITE_5, Title = SITE_5 }); await api.Sites.SaveAsync(new Site { InternalId = SITE_6, Title = SITE_6 }); // Sites for testing hostname routing await api.Sites.SaveAsync(new Site { InternalId = "RoutingTest1", Title = "RoutingTest1", Hostnames = "mydomain.com,localhost" }); await api.Sites.SaveAsync(new Site { InternalId = "RoutingTest2", Title = "RoutingTest2", Hostnames = " mydomain.com/en" }); await api.Sites.SaveAsync(new Site { InternalId = "RoutingTest3", Title = "RoutingTest3", Hostnames = "sub.mydomain.com , sub2.localhost" }); var content = await MySiteContent.CreateAsync(api); content.Header = "<p>Lorem ipsum</p>"; content.Footer = "<p>Tellus Ligula</p>"; await api.Sites.SaveContentAsync(SITE_1_ID, content); var page1 = await MyPage.CreateAsync(api); page1.SiteId = SITE_1_ID; page1.Title = "Startpage"; page1.Text = "Welcome"; page1.IsHidden = true; page1.Published = DateTime.Now; await api.Pages.SaveAsync(page1); var page2 = await MyPage.CreateAsync(api); page2.SiteId = SITE_1_ID; page2.SortOrder = 1; page2.Title = "Second page"; page2.Text = "The second page"; await api.Pages.SaveAsync(page2); var page3 = await MyPage.CreateAsync(api); page3.SiteId = SITE_1_ID; page3.ParentId = page2.Id; page3.Title = "Subpage"; page3.Text = "The subpage"; page3.Published = DateTime.Now; await api.Pages.SaveAsync(page3); } }