@using Microsoft.AspNetCore.Components.Routing @using Oqtane.Models @using Oqtane.Services @using Oqtane.Modules @inherits ModuleBase @inject IUriHelper UriHelper @inject ITenantService TenantService @inject IAliasService AliasService @inject ISiteService SiteService @inject IPageService PageService @if (tenants == null) {

Loading...

} else {
Cancel } @code { public override SecurityAccessLevelEnum SecurityAccessLevel { get { return SecurityAccessLevelEnum.Host; } } List tenants; string tenantid; string name; string url; string logo; protected override async Task OnInitAsync() { tenants = await TenantService.GetTenantsAsync(); } private async Task SaveSite() { Site site = new Site(); site.Name = name; site.Logo = (logo == null ? "" : logo); await SiteService.AddSiteAsync(site); List sites = await SiteService.GetSitesAsync(); site = sites.Where(item => item.Name == name).FirstOrDefault(); Alias alias = new Alias(); alias.Name = url; alias.TenantId = int.Parse(tenantid); alias.SiteId = site.SiteId; await AliasService.AddAliasAsync(alias); // need to add a home page and admin pages Page p = new Page(); p.SiteId = site.SiteId; p.ParentId = null; p.Name = "Home"; p.Path = ""; p.Order = 1; p.IsNavigation = true; p.ThemeType = "Oqtane.Client.Themes.Theme1.Theme1, Oqtane.Client"; p.LayoutType = ""; p.Icon = ""; Type type = Type.GetType(p.ThemeType); System.Reflection.PropertyInfo property = type.GetProperty("Panes"); p.Panes = (string)property.GetValue(Activator.CreateInstance(type), null); p.ViewPermissions = "All Users"; p.EditPermissions = "Administrators"; await PageService.AddPageAsync(p); UriHelper.NavigateTo(url, true); } }