refactor(multi-tenancy): move TenantId check into BaseAppService

Fix TenantId update in CrudAppService and moved TenantId check into base class.

fixes #1360
pull/1369/head
Reichenbach, Michael 6 years ago
parent 21e96168b4
commit 70d334068b

@ -109,10 +109,7 @@ namespace Volo.Abp.Application.Services
var entity = MapToEntity(input);
if (entity is IMultiTenant && HasTenantIdProperty(entity))
{
TryToSetTenantId(entity);
}
TryToSetTenantId(entity);
await Repository.InsertAsync(entity, autoSave: true);

@ -106,10 +106,7 @@ namespace Volo.Abp.Application.Services
var entity = MapToEntity(input);
if (entity is IMultiTenant && !HasTenantIdProperty(entity))
{
TryToSetTenantId(entity);
}
TryToSetTenantId(entity);
Repository.Insert(entity, autoSave: true);

@ -165,18 +165,21 @@ namespace Volo.Abp.Application.Services
protected virtual void TryToSetTenantId(TEntity entity)
{
var tenantId = CurrentTenant.Id;
if (!tenantId.HasValue)
if (entity is IMultiTenant && HasTenantIdProperty(entity))
{
return;
}
var tenantId = CurrentTenant.Id;
var propertyInfo = entity.GetType().GetProperty(nameof(IMultiTenant.TenantId));
if (!tenantId.HasValue)
{
return;
}
if (propertyInfo != null && propertyInfo.GetSetMethod() != null)
{
propertyInfo.SetValue(entity, tenantId, null);
var propertyInfo = entity.GetType().GetProperty(nameof(IMultiTenant.TenantId));
if (propertyInfo != null && propertyInfo.GetSetMethod() != null)
{
propertyInfo.SetValue(entity, tenantId, null);
}
}
}

Loading…
Cancel
Save