|
|
|
@ -143,8 +143,17 @@ public class MongoIdentityUserRepository : MongoDbRepository<IAbpIdentityMongoDb |
|
|
|
string userName = null, |
|
|
|
string phoneNumber = null, |
|
|
|
string emailAddress = null, |
|
|
|
string tenantName = null, |
|
|
|
string name = null, |
|
|
|
string surname = null, |
|
|
|
bool? isLockedOut = null, |
|
|
|
bool? notActive = null, |
|
|
|
bool? emailConfirmed = null, |
|
|
|
bool? isExternal = null, |
|
|
|
DateTime? maxCreationTime = null, |
|
|
|
DateTime? minCreationTime = null, |
|
|
|
DateTime? maxModifitionTime = null, |
|
|
|
DateTime? minModifitionTime = null, |
|
|
|
CancellationToken cancellationToken = default) |
|
|
|
{ |
|
|
|
return await (await GetMongoQueryableAsync(cancellationToken)) |
|
|
|
@ -155,7 +164,10 @@ public class MongoIdentityUserRepository : MongoDbRepository<IAbpIdentityMongoDb |
|
|
|
u.Email.Contains(filter) || |
|
|
|
(u.Name != null && u.Name.Contains(filter)) || |
|
|
|
(u.Surname != null && u.Surname.Contains(filter)) || |
|
|
|
(u.PhoneNumber != null && u.PhoneNumber.Contains(filter)) |
|
|
|
(u.PhoneNumber != null && u.PhoneNumber.Contains(filter)) || |
|
|
|
//(u.Tenant != null && u.Tenant.Contains(filter)) ||
|
|
|
|
(u.Name != null && u.Name.Contains(filter)) || |
|
|
|
(u.Surname != null && u.Surname.Contains(filter)) |
|
|
|
) |
|
|
|
.WhereIf<IdentityUser, IMongoQueryable<IdentityUser>>(roleId.HasValue, identityUser => identityUser.Roles.Any(x => x.RoleId == roleId.Value)) |
|
|
|
.WhereIf<IdentityUser, IMongoQueryable<IdentityUser>>(organizationUnitId.HasValue, identityUser => identityUser.OrganizationUnits.Any(x => x.OrganizationUnitId == organizationUnitId.Value)) |
|
|
|
@ -164,6 +176,12 @@ public class MongoIdentityUserRepository : MongoDbRepository<IAbpIdentityMongoDb |
|
|
|
.WhereIf<IdentityUser, IMongoQueryable<IdentityUser>>(!string.IsNullOrWhiteSpace(emailAddress), x => x.Email == emailAddress) |
|
|
|
.WhereIf<IdentityUser, IMongoQueryable<IdentityUser>>(isLockedOut == true, x => x.LockoutEnabled && x.LockoutEnd > DateTimeOffset.UtcNow) |
|
|
|
.WhereIf<IdentityUser, IMongoQueryable<IdentityUser>>(notActive == true, x => !x.IsActive) |
|
|
|
.WhereIf<IdentityUser, IMongoQueryable<IdentityUser>>(emailConfirmed == true, x => !x.EmailConfirmed) |
|
|
|
.WhereIf<IdentityUser, IMongoQueryable<IdentityUser>>(isExternal == true, x => !x.IsExternal) |
|
|
|
.WhereIf(maxCreationTime != null, p => p.CreationTime <= maxCreationTime) |
|
|
|
.WhereIf(minCreationTime != null, p => p.CreationTime >= minCreationTime) |
|
|
|
.WhereIf(maxModifitionTime != null, p => p.LastModificationTime >= maxModifitionTime) |
|
|
|
.WhereIf(minModifitionTime != null, p => p.LastModificationTime <= minModifitionTime) |
|
|
|
.OrderBy(sorting.IsNullOrWhiteSpace() ? nameof(IdentityUser.UserName) : sorting) |
|
|
|
.As<IMongoQueryable<IdentityUser>>() |
|
|
|
.PageBy<IdentityUser, IMongoQueryable<IdentityUser>>(skipCount, maxResultCount) |
|
|
|
@ -211,8 +229,17 @@ public class MongoIdentityUserRepository : MongoDbRepository<IAbpIdentityMongoDb |
|
|
|
string userName = null, |
|
|
|
string phoneNumber = null, |
|
|
|
string emailAddress = null, |
|
|
|
string tenantName = null, |
|
|
|
string name = null, |
|
|
|
string surname = null, |
|
|
|
bool? isLockedOut = null, |
|
|
|
bool? notActive = null, |
|
|
|
bool? emailConfirmed = null, |
|
|
|
bool? isExternal = null, |
|
|
|
DateTime? maxCreationTime = null, |
|
|
|
DateTime? minCreationTime = null, |
|
|
|
DateTime? maxModifitionTime = null, |
|
|
|
DateTime? minModifitionTime = null, |
|
|
|
CancellationToken cancellationToken = default) |
|
|
|
{ |
|
|
|
return await (await GetMongoQueryableAsync(cancellationToken)) |
|
|
|
@ -223,7 +250,10 @@ public class MongoIdentityUserRepository : MongoDbRepository<IAbpIdentityMongoDb |
|
|
|
u.Email.Contains(filter) || |
|
|
|
(u.Name != null && u.Name.Contains(filter)) || |
|
|
|
(u.Surname != null && u.Surname.Contains(filter)) || |
|
|
|
(u.PhoneNumber != null && u.PhoneNumber.Contains(filter)) |
|
|
|
(u.PhoneNumber != null && u.PhoneNumber.Contains(filter)) || |
|
|
|
//(u.Tenant != null && u.Tenant.Contains(filter)) ||
|
|
|
|
(u.Name != null && u.Name.Contains(filter)) || |
|
|
|
(u.Surname != null && u.Surname.Contains(filter)) |
|
|
|
) |
|
|
|
.WhereIf<IdentityUser, IMongoQueryable<IdentityUser>>(roleId.HasValue, identityUser => identityUser.Roles.Any(x => x.RoleId == roleId.Value)) |
|
|
|
.WhereIf<IdentityUser, IMongoQueryable<IdentityUser>>(organizationUnitId.HasValue, identityUser => identityUser.OrganizationUnits.Any(x => x.OrganizationUnitId == organizationUnitId.Value)) |
|
|
|
@ -232,6 +262,12 @@ public class MongoIdentityUserRepository : MongoDbRepository<IAbpIdentityMongoDb |
|
|
|
.WhereIf<IdentityUser, IMongoQueryable<IdentityUser>>(!string.IsNullOrWhiteSpace(emailAddress), x => x.Email == emailAddress) |
|
|
|
.WhereIf<IdentityUser, IMongoQueryable<IdentityUser>>(isLockedOut == true, x => x.LockoutEnabled && x.LockoutEnd > DateTimeOffset.UtcNow) |
|
|
|
.WhereIf<IdentityUser, IMongoQueryable<IdentityUser>>(notActive == true, x => !x.IsActive) |
|
|
|
.WhereIf<IdentityUser, IMongoQueryable<IdentityUser>>(emailConfirmed == true, x => !x.EmailConfirmed) |
|
|
|
.WhereIf<IdentityUser, IMongoQueryable<IdentityUser>>(isExternal == true, x => !x.IsExternal) |
|
|
|
.WhereIf<IdentityUser, IMongoQueryable<IdentityUser>>(maxCreationTime != null, p => p.CreationTime <= maxCreationTime) |
|
|
|
.WhereIf<IdentityUser, IMongoQueryable<IdentityUser>>(minCreationTime != null, p => p.CreationTime >= minCreationTime) |
|
|
|
.WhereIf<IdentityUser, IMongoQueryable<IdentityUser>>(maxModifitionTime != null, p => p.LastModificationTime >= maxModifitionTime) |
|
|
|
.WhereIf<IdentityUser, IMongoQueryable<IdentityUser>>(minModifitionTime != null, p => p.LastModificationTime <= minModifitionTime) |
|
|
|
.LongCountAsync(GetCancellationToken(cancellationToken)); |
|
|
|
} |
|
|
|
|
|
|
|
@ -272,9 +308,9 @@ public class MongoIdentityUserRepository : MongoDbRepository<IAbpIdentityMongoDb |
|
|
|
} |
|
|
|
|
|
|
|
public virtual async Task<IdentityUser> FindByTenantIdAndUserNameAsync( |
|
|
|
[NotNull] string userName, |
|
|
|
Guid? tenantId, |
|
|
|
bool includeDetails = true, |
|
|
|
[NotNull] string userName, |
|
|
|
Guid? tenantId, |
|
|
|
bool includeDetails = true, |
|
|
|
CancellationToken cancellationToken = default) |
|
|
|
{ |
|
|
|
return await (await GetMongoQueryableAsync(cancellationToken)) |
|
|
|
|