Пример #1
0
        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)
                }
                    );
            }
        }
Пример #2
0
        public async Task OnGetAsync()
        {
            Input = new TenantInfoModel();

            if (CurrentTenant.IsAvailable)
            {
                var tenant = await TenantStore.FindAsync(CurrentTenant.GetId());

                Input.Name = tenant?.Name;
            }
        }
Пример #3
0
 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));
     }
 }
Пример #4
0
    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);
    }
Пример #5
0
        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));
        }
Пример #6
0
        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);
        }