Example #1
0
        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);
            }
        }
Example #2
0
        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.");
        }