@namespace Oqtane.Modules.Admin.Tenants @inherits ModuleBase @inject NavigationManager NavigationManager @inject ITenantService TenantService @inject IInstallationService InstallationService
Cancel @code { public override SecurityAccessLevel SecurityAccessLevel { get { return SecurityAccessLevel.Host; } } string name = ""; string type = "LocalDB"; string server = "(LocalDb)\\MSSQLLocalDB"; string database = "Oqtane-" + DateTime.UtcNow.ToString("yyyyMMddHHmm"); string username = ""; string password = ""; string schema = ""; string integratedsecurity = "display: none;"; private void SetIntegratedSecurity(ChangeEventArgs e) { if (Convert.ToBoolean((string)e.Value)) { integratedsecurity = "display: none;"; } else { integratedsecurity = ""; } } private async Task SaveTenant() { if (!string.IsNullOrEmpty(name)) { ShowProgressIndicator(); string connectionstring = ""; if (type == "LocalDB") { connectionstring = "Data Source=" + server + ";AttachDbFilename=|DataDirectory|\\" + database + ".mdf;Initial Catalog=" + database + ";Integrated Security=SSPI;"; } else { connectionstring = "Data Source=" + server + ";Initial Catalog=" + database + ";"; if (integratedsecurity == "display: none;") { connectionstring += "Integrated Security=SSPI;"; } else { connectionstring += "User ID=" + username + ";Password=" + password; } } GenericResponse response = await InstallationService.Install(connectionstring); if (response.Success) { Tenant tenant = new Tenant(); tenant.Name = name; tenant.DBConnectionString = connectionstring; tenant.DBSchema = schema; tenant.IsInitialized = false; await TenantService.AddTenantAsync(tenant); await logger.LogInformation("Tenant Created {Tenant}", tenant); NavigationManager.NavigateTo(NavigateUrl()); } else { await logger.LogError("Error Creating Tenant {Error}", response.Message); AddModuleMessage(response.Message, MessageType.Error); } } else { AddModuleMessage("You Must Provide A Name For The Tenant", MessageType.Warning); } } }