public async Task RegisterAsync() { try { var installed = new InstalledDomainSerializer(); foreach (var domain in installed.Get()) { string database = TenantConvention.GetDbNameByConvention(domain.DomainName); await InstalledDomains.AddAsync(database, domain.DomainName, domain.AdminEmail).ConfigureAwait(false); } } catch (Exception ex) { Log.Error("Could not execute AddInstalledDomainProcedure. Exception: {Exception}", ex); } }
public ActionResult Index() { string domain = TenantConvention.GetDomain(); var approved = new ApprovedDomainSerializer(); var installed = new InstalledDomainSerializer(); if(!approved.GetMemberSites().Any(x => x.Equals(domain))) { return this.HttpNotFound(); } if(installed.GetMemberSites().Any(x => x.Equals(domain))) { return this.Redirect("/"); } var setup = approved.Get().FirstOrDefault(x => x.GetSubtenants().Contains(domain.ToLowerInvariant())); InstallationFactory.Setup(setup); //Background job return this.Content("Installing frapid, please visit the site after a few minutes."); }