using Abp.AspNetCore.Mvc.Controllers; using Abp.Configuration.Startup; using Abp.IdentityFramework; using Abp.Runtime.Caching; using Abp.UI; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Identity; using Microsoft.Extensions.DependencyInjection; using VberZero.DomainService.AppGuids; using VberZero.DomainService.Attaches; using VberZero.DomainService.AutoCompletes; using VberZero.DomainService.States; using VberZero.Session; namespace VberAdmin.Controllers; public abstract class VberAdminControllerBase : AbpController { public new IVzSession AbpSession { get; set; } public IAttachManager AttachManager { get; set; } public ISysStatesManager StatesManager { get; set; } public IAppGuidManager AppGuidManager { get; set; } public IAutoCompleteQueryManager QueryAcManager { get; set; } public ICacheManager CacheManager { get; set; } protected VberAdminControllerBase() { LocalizationSourceName = VberAdminConsts.LocalizationSourceName; AttachManager = NullAttachManager.Instance; StatesManager = NullSysStatesManager.Instance; AppGuidManager = NullAppGuidManager.Instance; QueryAcManager = NullAutoCompleteQueryManager.Instance; AbpSession = NullVzSession.Instance; } protected void CheckErrors(IdentityResult identityResult) { identityResult.CheckErrors(LocalizationManager); } protected virtual void CheckErrors(string error) { throw new UserFriendlyException(error); } protected void SetTenantIdCookie(int? tenantId) { var multiTenancyConfig = HttpContext.RequestServices.GetRequiredService(); Response.Cookies.Append( multiTenancyConfig.TenantIdResolveKey, tenantId?.ToString() ?? string.Empty, new CookieOptions { Expires = DateTimeOffset.Now.AddYears(5), Path = "/" } ); } }