private async Task <Tenant> GetActiveTenantAsync(int tenantId) { var tenant = await TenantManager.FindByIdAsync(tenantId); if (tenant == null) { throw new UserFriendlyException(L("UnknownTenantId{0}", tenantId)); } if (!tenant.IsActive) { throw new UserFriendlyException(L("TenantIdIsNotActive{0}", tenantId)); } return(tenant); }
protected virtual async Task <List <Tenant> > FindPossibleTenantsOfUserAsync(UserLoginInfo login) { List <User> allUsers; //TODO: Store all login information on host db or disable this feature for db-per-tenant architecture using (_unitOfWorkManager.Current.DisableFilter(AbpDataFilters.MayHaveTenant)) { allUsers = await _userManager.FindAllAsync(login); } return(allUsers .Where(u => u.TenantId != null) .Select(u => AsyncHelper.RunSync(() => _tenantManager.FindByIdAsync(u.TenantId.Value))) .Where(t => t != null) .ToList()); }
public async Task SetEditionForTenant(int tenantId, int editionId) { var tenant = await _tenantManager.FindByIdAsync(tenantId); if (tenant.EditionId != null) { var tenantPrevEdition = _editionRepository.Get(tenant.EditionId.Value); await _editionNotificationSubscriber.UnSubscribeTenantToEditionChanges(tenant, tenantPrevEdition, GetTenantOwner(tenant)); } var edition = _editionRepository.Get(editionId); var editionFeatureValues = await _editionManager.GetFeatureValuesAsync(editionId); await _tenantManager.SetFeatureValuesAsync(tenant.Id, editionFeatureValues.ToArray()); await _editionNotificationSubscriber.SubscribeTenantToEditionChanges(tenant, edition, GetTenantOwner(tenant)); }
public async Task <IActionResult> Index() { if (this.User.Identity.IsAuthenticated) { var user = await _userManager.GetUserAsync(this.User); var tenant = await _tenantManager.FindByIdAsync(user.TenantId.ToString()); ViewData["TenantName"] = await _tenantManager.GetNameAsync(tenant); var users = await _tenantManager.GetTenantUsersAsync(tenant); ViewData["NumUsers"] = users.Count(); } else { ViewData["TenantName"] = "Please sign-in"; ViewData["NumUsers"] = null; } return(View()); }