From 252a8448a35413fcaa8bd17df34b0796be5eeef7 Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 6 Jan 2025 12:29:35 +0800 Subject: [PATCH] Added `GetListByDisplayNamesAsync` to `IOrganizationUnitRepository `. --- .../Volo/Abp/Identity/IOrganizationUnitRepository.cs | 6 ++++++ .../EfCoreOrganizationUnitRepository.cs | 11 +++++++++++ .../MongoDB/MongoOrganizationUnitRepository.cs | 10 ++++++++++ 3 files changed, 27 insertions(+) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IOrganizationUnitRepository.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IOrganizationUnitRepository.cs index 4d37887570..a9a92e9e43 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IOrganizationUnitRepository.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IOrganizationUnitRepository.cs @@ -47,6 +47,12 @@ public interface IOrganizationUnitRepository : IBasicRepository> GetListByDisplayNamesAsync( + string[] displayNames, + bool includeDetails = false, + CancellationToken cancellationToken = default + ); + Task> GetRolesAsync( OrganizationUnit organizationUnit, string sorting = null, diff --git a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreOrganizationUnitRepository.cs b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreOrganizationUnitRepository.cs index 870ee4c3f2..03649b3c73 100644 --- a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreOrganizationUnitRepository.cs +++ b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreOrganizationUnitRepository.cs @@ -84,6 +84,17 @@ public class EfCoreOrganizationUnitRepository return await query.ToListAsync(GetCancellationToken(cancellationToken)); } + public virtual async Task> GetListByDisplayNamesAsync( + string[] displayNames, + bool includeDetails = false, + CancellationToken cancellationToken = default) + { + return await (await GetDbSetAsync()) + .IncludeDetails(includeDetails) + .Where(ou => displayNames.Contains(ou.DisplayName)) + .ToListAsync(GetCancellationToken(cancellationToken)); + } + public virtual async Task GetAsync( string displayName, bool includeDetails = true, diff --git a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoOrganizationUnitRepository.cs b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoOrganizationUnitRepository.cs index c3a168033b..78838c9c6c 100644 --- a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoOrganizationUnitRepository.cs +++ b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoOrganizationUnitRepository.cs @@ -63,6 +63,16 @@ public class MongoOrganizationUnitRepository .ToListAsync(GetCancellationToken(cancellationToken)); } + public virtual async Task> GetListByDisplayNamesAsync( + string[] displayNames, + bool includeDetails = false, + CancellationToken cancellationToken = default) + { + return await (await GetMongoQueryableAsync(cancellationToken)) + .Where(x => displayNames.Contains(x.DisplayName)) + .ToListAsync(GetCancellationToken(cancellationToken)); + } + public virtual async Task> GetListAsync( string sorting = null, int maxResultCount = int.MaxValue,