TenantStore.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. namespace VberZero.MultiTenancy;
  2. public class TenantStore : Abp.MultiTenancy.ITenantStore
  3. {
  4. private readonly ITenantCache _tenantCache;
  5. public TenantStore(ITenantCache tenantCache)
  6. {
  7. _tenantCache = tenantCache;
  8. }
  9. public Abp.MultiTenancy.TenantInfo Find(int tenantId)
  10. {
  11. var tenant = _tenantCache.GetOrNull(tenantId);
  12. if (tenant == null)
  13. {
  14. return null;
  15. }
  16. return new Abp.MultiTenancy.TenantInfo(tenant.Id, tenant.TenancyName);
  17. }
  18. public Abp.MultiTenancy.TenantInfo Find(string tenancyName)
  19. {
  20. var tenant = _tenantCache.GetOrNull(tenancyName);
  21. if (tenant == null)
  22. {
  23. return null;
  24. }
  25. return new Abp.MultiTenancy.TenantInfo(tenant.Id, tenant.TenancyName);
  26. }
  27. public TenantCacheItem FindTenantCache(int tenantId)
  28. {
  29. var tenant = _tenantCache.GetOrNull(tenantId);
  30. return tenant;
  31. }
  32. public TenantCacheItem FindTenantCache(string tenancyName)
  33. {
  34. var tenant = _tenantCache.GetOrNull(tenancyName);
  35. return tenant;
  36. }
  37. }