public string RegisterTenant(TenantRegistrationInfo ri, out Tenant tenant) { tenant = null; if (ri == null) throw new ArgumentNullException("registrationInfo"); if (string.IsNullOrEmpty(ri.Name)) throw new Exception("Community name can not be empty"); if (string.IsNullOrEmpty(ri.Address)) throw new Exception("Community address can not be empty"); if (string.IsNullOrEmpty(ri.Email)) throw new Exception("Account email can not be empty"); if (string.IsNullOrEmpty(ri.FirstName)) throw new Exception("Account firstname can not be empty"); if (string.IsNullOrEmpty(ri.LastName)) throw new Exception("Account lastname can not be empty"); if (string.IsNullOrEmpty(ri.Password)) ri.Password = Crypto.GeneratePassword(6); // create tenant tenant = new Tenant(ri.Address.ToLowerInvariant()) { Name = ri.Name, Language = ri.Culture.Name, TimeZone = ri.TimeZoneInfo, }; tenant = tenantService.SaveTenant(tenant); // create user var user = new UserInfo() { UserName = ri.Email.Substring(0, ri.Email.IndexOf('@')), LastName = ri.LastName, FirstName = ri.FirstName, Email = ri.Email, }; user = userService.SaveUser(tenant.TenantId, user); userService.SetUserPassword(tenant.TenantId, user.ID, ri.Password); userService.SaveUserGroupRef(tenant.TenantId, new UserGroupRef(user.ID, Constants.GroupAdmin.ID, UserGroupRefType.Contains)); // save tenant owner tenant.OwnerId = user.ID; tenant = tenantService.SaveTenant(tenant); return CreateAuthenticationCookie(tenant.TenantId, user.ID); }
public void RegisterTenant(TenantRegistrationInfo ri, out Tenant tenant) { tenant = null; if (ri == null) throw new ArgumentNullException("registrationInfo"); if (string.IsNullOrEmpty(ri.Address)) throw new Exception("Address can not be empty"); if (string.IsNullOrEmpty(ri.Email)) throw new Exception("Account email can not be empty"); if (string.IsNullOrEmpty(ri.FirstName)) throw new Exception("Account firstname can not be empty"); if (string.IsNullOrEmpty(ri.LastName)) throw new Exception("Account lastname can not be empty"); if (string.IsNullOrEmpty(ri.Password)) ri.Password = Crypto.GeneratePassword(6); // create tenant tenant = new Tenant(ri.Address.ToLowerInvariant()) { Name = ri.Name, Language = ri.Culture.Name, TimeZone = ri.TimeZoneInfo, HostedRegion = ri.HostedRegion, PartnerId = ri.PartnerId, Industry = ri.Industry }; tenant = tenantService.SaveTenant(tenant); // create user var user = new UserInfo() { UserName = ri.Email.Substring(0, ri.Email.IndexOf('@')), LastName = ri.LastName, FirstName = ri.FirstName, Email = ri.Email, MobilePhone = ri.MobilePhone, WorkFromDate = TenantUtil.DateTimeNow(tenant.TimeZone), ActivationStatus = ri.ActivationStatus }; user = userService.SaveUser(tenant.TenantId, user); userService.SetUserPassword(tenant.TenantId, user.ID, ri.Password); userService.SaveUserGroupRef(tenant.TenantId, new UserGroupRef(user.ID, Constants.GroupAdmin.ID, UserGroupRefType.Contains)); // save tenant owner tenant.OwnerId = user.ID; tenant = tenantService.SaveTenant(tenant); }
public void RegisterTenant(string region, TenantRegistrationInfo ri, out Tenant tenant) { ri.HostedRegion = region; GetRegionService(region).RegisterTenant(ri, out tenant); }