diff --git a/Src/Dlhis.Sys/Identity/Services/Implements/TenantService.cs b/Src/Dlhis.Sys/Identity/Services/Implements/TenantService.cs index ecb8795b..653d2846 100644 --- a/Src/Dlhis.Sys/Identity/Services/Implements/TenantService.cs +++ b/Src/Dlhis.Sys/Identity/Services/Implements/TenantService.cs @@ -84,10 +84,21 @@ public class TenantService : ITenantService }) .ToListAsync(); - var currentTenant = myTenants.First(x => x.Code == tenantId); + if (!myTenants.Any()) + { + myTenants = await GetListAsync(); + myTenants = myTenants.Where(x => x.PCode.IsPresent()).ToList(); + } + + var currentTenant = myTenants.FirstOrDefault(x => x.Code == tenantId); var otherTenants = myTenants.Where(x => x.Code != tenantId); - var result = new List { currentTenant }; + var result = new List(); + if (currentTenant != null) + { + result.Add(currentTenant); + } + result.AddRange(otherTenants); return result; }