public async Task OnPostAsync() { if (Input.Name.IsNullOrEmpty()) { Response.Cookies.Delete(Options.TenantKey); } else { var tenant = await TenantStore.FindAsync(Input.Name); if (tenant == null) { throw new UserFriendlyException(L["GivenTenantIsNotAvailable", Input.Name]); } Response.Cookies.Append( Options.TenantKey, tenant.Id.ToString(), new CookieOptions { Path = "/", HttpOnly = false, Expires = DateTimeOffset.Now.AddYears(10) } ); } }
public async Task OnGetAsync() { Input = new TenantInfoModel(); if (CurrentTenant.IsAvailable) { var tenant = await TenantStore.FindAsync(CurrentTenant.GetId()); Input.Name = tenant?.Name; } }
protected virtual async Task <TenantConfiguration> FindTenantAsync(string tenantIdOrName) { if (Guid.TryParse(tenantIdOrName, out var parsedTenantId)) { return(await TenantStore.FindAsync(parsedTenantId)); } else { return(await TenantStore.FindAsync(tenantIdOrName)); } }
private async Task <string> GetCurrentTenantNameAsync() { if (CurrentTenant.Id.HasValue && CurrentTenant.Name.IsNullOrEmpty()) { var tenantConfiguration = await TenantStore.FindAsync(CurrentTenant.Id.Value); return(tenantConfiguration.Name); } return(CurrentTenant.Name); }
public async Task <IViewComponentResult> InvokeAsync() { var model = new TenantSwitchViewModel(); if (CurrentTenant.Id.HasValue) { model.Tenant = await TenantStore.FindAsync(CurrentTenant.GetId()); } return(View("~/Volo/Abp/AspNetCore/Mvc/UI/MultiTenancy/Components/TenantSwitch/Default.cshtml", model)); }
public virtual async Task OnPostAsync() { Guid?tenantId = null; if (!Input.Name.IsNullOrEmpty()) { var tenant = await TenantStore.FindAsync(Input.Name); if (tenant == null) { throw new UserFriendlyException(L["GivenTenantIsNotExist", Input.Name]); } if (!tenant.IsActive) { throw new UserFriendlyException(L["GivenTenantIsNotAvailable", Input.Name]); } tenantId = tenant.Id; } AbpMultiTenancyCookieHelper.SetTenantCookie(HttpContext, tenantId, Options.TenantKey); }