From 7851020cf63962b41bb98eaff25dec9e4c1dd68e Mon Sep 17 00:00:00 2001 From: Halil ibrahim Kalkan Date: Tue, 26 Mar 2019 12:40:10 +0300 Subject: [PATCH] Use ICurrentTenant.Change instead of duplicate code --- .../MultiTenancy/MultiTenancyMiddleware.cs | 20 +++++-------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.MultiTenancy/Volo/Abp/AspNetCore/MultiTenancy/MultiTenancyMiddleware.cs b/framework/src/Volo.Abp.AspNetCore.MultiTenancy/Volo/Abp/AspNetCore/MultiTenancy/MultiTenancyMiddleware.cs index bf27cc92e6..ff0f1eb93f 100644 --- a/framework/src/Volo.Abp.AspNetCore.MultiTenancy/Volo/Abp/AspNetCore/MultiTenancy/MultiTenancyMiddleware.cs +++ b/framework/src/Volo.Abp.AspNetCore.MultiTenancy/Volo/Abp/AspNetCore/MultiTenancy/MultiTenancyMiddleware.cs @@ -1,6 +1,5 @@ using System; using System.Threading.Tasks; -using JetBrains.Annotations; using Microsoft.AspNetCore.Http; using Volo.Abp.MultiTenancy; @@ -12,23 +11,24 @@ namespace Volo.Abp.AspNetCore.MultiTenancy private readonly ITenantResolver _tenantResolver; private readonly ITenantStore _tenantStore; - private readonly ICurrentTenantIdAccessor _currentTenantIdAccessor; + private readonly ICurrentTenant _currentTenant; public MultiTenancyMiddleware( RequestDelegate next, ITenantResolver tenantResolver, ITenantStore tenantStore, - ICurrentTenantIdAccessor currentTenantIdAccessor) + ICurrentTenant currentTenant) { _next = next; _tenantResolver = tenantResolver; _tenantStore = tenantStore; - _currentTenantIdAccessor = currentTenantIdAccessor; + _currentTenant = currentTenant; } public async Task Invoke(HttpContext httpContext) { - using (SetCurrentTenant(await ResolveCurrentTenantAsync())) + var tenant = await ResolveCurrentTenantAsync(); + using (_currentTenant.Change(tenant?.Id)) { await _next(httpContext); } @@ -62,15 +62,5 @@ namespace Volo.Abp.AspNetCore.MultiTenancy return await _tenantStore.FindAsync(tenantIdOrName); } } - - private IDisposable SetCurrentTenant([CanBeNull] TenantInfo tenant) - { - var parentScope = _currentTenantIdAccessor.Current; - _currentTenantIdAccessor.Current = new TenantIdWrapper(tenant?.Id); - return new DisposeAction(() => - { - _currentTenantIdAccessor.Current = parentScope; - }); - } } }