Browse Source

Make user search parameters nullable and support paging.

pull/4016/head
Halil İbrahim Kalkan 6 years ago
parent
commit
5a79e7fe66
  1. 2
      modules/identity/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/UserLookupSearchInputDto.cs
  2. 3
      modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/IdentityUserLookupAppService.cs
  3. 8
      modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserRepositoryExternalUserLookupServiceProvider.cs
  4. 11
      modules/identity/src/Volo.Abp.Identity.HttpApi.Client/Volo/Abp/Identity/HttpClientIdentityUserLookupService.cs
  5. 7
      modules/users/src/Volo.Abp.Users.Abstractions/Volo/Abp/Users/IExternalUserLookupServiceProvider.cs
  6. 7
      modules/users/src/Volo.Abp.Users.Domain/Volo/Abp/Users/IUserLookupService.cs
  7. 34
      modules/users/src/Volo.Abp.Users.Domain/Volo/Abp/Users/UserLookupService.cs
  8. 2
      modules/users/src/Volo.Abp.Users.MongoDB/Volo/Abp/Users/MongoDB/MongoUserRepositoryBase.cs

2
modules/identity/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/UserLookupSearchInputDto.cs

@ -2,7 +2,7 @@
namespace Volo.Abp.Identity namespace Volo.Abp.Identity
{ {
public class UserLookupSearchInputDto : LimitedResultRequestDto, ISortedResultRequest public class UserLookupSearchInputDto : PagedResultRequestDto, ISortedResultRequest
{ {
public string Sorting { get; set; } public string Sorting { get; set; }

3
modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/IdentityUserLookupAppService.cs

@ -45,7 +45,8 @@ namespace Volo.Abp.Identity
var users = await UserLookupServiceProvider.SearchAsync( var users = await UserLookupServiceProvider.SearchAsync(
input.Sorting, input.Sorting,
input.Filter, input.Filter,
input.MaxResultCount input.MaxResultCount,
input.SkipCount
); );
return new ListResultDto<UserData>( return new ListResultDto<UserData>(

8
modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserRepositoryExternalUserLookupServiceProvider.cs

@ -49,14 +49,16 @@ namespace Volo.Abp.Identity
} }
public virtual async Task<List<IUserData>> SearchAsync( public virtual async Task<List<IUserData>> SearchAsync(
string sorting, string sorting = null,
string filter, string filter = null,
int maxResultCount, int maxResultCount = int.MaxValue,
int skipCount = 0,
CancellationToken cancellationToken = default) CancellationToken cancellationToken = default)
{ {
var users = await UserRepository.GetListAsync( var users = await UserRepository.GetListAsync(
sorting: sorting, sorting: sorting,
maxResultCount: maxResultCount, maxResultCount: maxResultCount,
skipCount: skipCount,
filter: filter, filter: filter,
includeDetails: false, includeDetails: false,
cancellationToken: cancellationToken cancellationToken: cancellationToken

11
modules/identity/src/Volo.Abp.Identity.HttpApi.Client/Volo/Abp/Identity/HttpClientIdentityUserLookupService.cs

@ -29,16 +29,19 @@ namespace Volo.Abp.Identity
} }
public async Task<List<IUserData>> SearchAsync( public async Task<List<IUserData>> SearchAsync(
string sorting, string sorting = null,
string filter, string filter = null,
int maxResultCount, int maxResultCount = int.MaxValue,
int skipCount = 0,
CancellationToken cancellationToken = default) CancellationToken cancellationToken = default)
{ {
var result = await UserLookupAppService.SearchAsync( var result = await UserLookupAppService.SearchAsync(
new UserLookupSearchInputDto new UserLookupSearchInputDto
{ {
Filter = filter, Filter = filter,
MaxResultCount = maxResultCount MaxResultCount = maxResultCount,
SkipCount = skipCount,
Sorting = sorting
} }
); );

7
modules/users/src/Volo.Abp.Users.Abstractions/Volo/Abp/Users/IExternalUserLookupServiceProvider.cs

@ -12,9 +12,10 @@ namespace Volo.Abp.Users
Task<IUserData> FindByUserNameAsync(string userName, CancellationToken cancellationToken = default); Task<IUserData> FindByUserNameAsync(string userName, CancellationToken cancellationToken = default);
Task<List<IUserData>> SearchAsync( Task<List<IUserData>> SearchAsync(
string sorting, string sorting = null,
string filter, string filter = null,
int maxResultCount, int maxResultCount = int.MaxValue,
int skipCount = 0,
CancellationToken cancellationToken = default); CancellationToken cancellationToken = default);
} }
} }

7
modules/users/src/Volo.Abp.Users.Domain/Volo/Abp/Users/IUserLookupService.cs

@ -13,9 +13,10 @@ namespace Volo.Abp.Users
Task<TUser> FindByUserNameAsync(string userName, CancellationToken cancellationToken = default); Task<TUser> FindByUserNameAsync(string userName, CancellationToken cancellationToken = default);
Task<List<IUserData>> SearchAsync( Task<List<IUserData>> SearchAsync(
string sorting, string sorting = null,
string filter, string filter = null,
int maxResultCount, int maxResultCount = int.MaxValue,
int skipCount = 0,
CancellationToken cancellationToken = default); CancellationToken cancellationToken = default);
} }
} }

34
modules/users/src/Volo.Abp.Users.Domain/Volo/Abp/Users/UserLookupService.cs

@ -140,15 +140,37 @@ namespace Volo.Abp.Users
return await _userRepository.FindAsync(externalUser.Id, cancellationToken: cancellationToken); return await _userRepository.FindAsync(externalUser.Id, cancellationToken: cancellationToken);
} }
public async Task<List<IUserData>> SearchAsync(string sorting, string filter, int maxResultCount, CancellationToken cancellationToken = default) public async Task<List<IUserData>> SearchAsync(
string sorting = null,
string filter = null,
int maxResultCount = int.MaxValue,
int skipCount = 0,
CancellationToken cancellationToken = default)
{ {
if (ExternalUserLookupServiceProvider != null) if (ExternalUserLookupServiceProvider != null)
{ {
return await ExternalUserLookupServiceProvider.SearchAsync(sorting, filter, maxResultCount, cancellationToken); return await ExternalUserLookupServiceProvider
} .SearchAsync(
sorting,
var localUsers = await _userRepository.SearchAsync(sorting, maxResultCount, 0, filter, cancellationToken); filter,
return localUsers.Cast<IUserData>().ToList(); maxResultCount,
skipCount,
cancellationToken
);
}
var localUsers = await _userRepository
.SearchAsync(
sorting,
maxResultCount,
skipCount,
filter,
cancellationToken
);
return localUsers
.Cast<IUserData>()
.ToList();
} }
protected abstract TUser CreateUser(IUserData externalUser); protected abstract TUser CreateUser(IUserData externalUser);

2
modules/users/src/Volo.Abp.Users.MongoDB/Volo/Abp/Users/MongoDB/MongoUserRepositoryBase.cs

@ -33,7 +33,7 @@ namespace Volo.Abp.Users.MongoDB
public async Task<List<TUser>> SearchAsync( public async Task<List<TUser>> SearchAsync(
string sorting = null, string sorting = null,
int maxResultCount = int.MaxValue, int maxResultCount = int.MaxValue,
int skipCount = 0, int skipCount = 0,
string filter = null, string filter = null,
CancellationToken cancellationToken = default) CancellationToken cancellationToken = default)

Loading…
Cancel
Save