Interface IUserProvider
Provider for user management.
Provides CRUD operations and business logic for working with users.
public interface IUserProvider
Methods
ChangePasswordAsync(IRedbUser, string, string, IRedbUser?)
Change user password.
Task<bool> ChangePasswordAsync(IRedbUser user, string currentPassword, string newPassword, IRedbUser? currentUser = null)
CreateUserAsync(CreateUserRequest, IRedbUser?)
Create new user.
Task<IRedbUser> CreateUserAsync(CreateUserRequest request, IRedbUser? currentUser = null)
DeleteUserAsync(IRedbUser, IRedbUser?)
Delete user (soft delete - deactivation).
Task<bool> DeleteUserAsync(IRedbUser user, IRedbUser? currentUser = null)
DisableUserAsync(IRedbUser, IRedbUser?)
Deactivate user.
Task<bool> DisableUserAsync(IRedbUser user, IRedbUser? currentUser = null)
EnableUserAsync(IRedbUser, IRedbUser?)
Activate user.
Task<bool> EnableUserAsync(IRedbUser user, IRedbUser? currentUser = null)
GetActiveUserCountAsync(DateTimeOffset, DateTimeOffset)
Get active user count for period.
Task<int> GetActiveUserCountAsync(DateTimeOffset fromDate, DateTimeOffset toDate)
GetUserConfigurationIdAsync(long)
Get user configuration ID.
Task<long?> GetUserConfigurationIdAsync(long userId)
GetUsersAsync(UserSearchCriteria?)
Get list of users with filtering.
Task<List<IRedbUser>> GetUsersAsync(UserSearchCriteria? criteria = null)
IsLoginAvailableAsync(string, long?)
Check login availability.
Task<bool> IsLoginAvailableAsync(string login, long? excludeUserId = null)
LoadUserAsync(long)
Load user by ID (throws exception if not found).
Task<IRedbUser> LoadUserAsync(long userId)
LoadUserAsync(string)
Load user by login (throws exception if not found).
Task<IRedbUser> LoadUserAsync(string login)
SetPasswordAsync(IRedbUser, string, IRedbUser?)
Set new password for user (without checking old password).
Task<bool> SetPasswordAsync(IRedbUser user, string newPassword, IRedbUser? currentUser = null)
SetUserConfigurationAsync(long, long?)
Set user configuration.
Task SetUserConfigurationAsync(long userId, long? configId)
UpdateUserAsync(IRedbUser, UpdateUserRequest, IRedbUser?)
Update user data.
Task<IRedbUser> UpdateUserAsync(IRedbUser user, UpdateUserRequest request, IRedbUser? currentUser = null)
ValidateUserAsync(string, string)
Validate user login and password.
Task<IRedbUser?> ValidateUserAsync(string login, string password)
ValidateUserDataAsync(CreateUserRequest)
Validate user data correctness.
Task<UserValidationResult> ValidateUserDataAsync(CreateUserRequest request)