|
|
|
|
@ -2,13 +2,12 @@
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using Volo.Abp.Application.Dtos;
|
|
|
|
|
using Volo.Abp.Application.Services;
|
|
|
|
|
|
|
|
|
|
namespace Volo.Abp.Identity
|
|
|
|
|
{
|
|
|
|
|
//TODO: Consider a way of passing cancellation token to all async application service methods!
|
|
|
|
|
|
|
|
|
|
public class IdentityUserAppService : ApplicationService, IIdentityUserAppService
|
|
|
|
|
public class IdentityUserAppService : IdentityAppServiceBase, IIdentityUserAppService
|
|
|
|
|
{
|
|
|
|
|
private readonly IdentityUserManager _userManager;
|
|
|
|
|
private readonly IIdentityUserRepository _userRepository;
|
|
|
|
|
@ -41,8 +40,9 @@ namespace Volo.Abp.Identity
|
|
|
|
|
{
|
|
|
|
|
var user = new IdentityUser(GuidGenerator.Create(), input.UserName);
|
|
|
|
|
|
|
|
|
|
CheckIdentityErrors(await _userManager.CreateAsync(user, input.Password));
|
|
|
|
|
await UpdateUserByInput(user, input);
|
|
|
|
|
await _userManager.CreateAsync(user, input.Password);
|
|
|
|
|
|
|
|
|
|
await CurrentUnitOfWork.SaveChangesAsync();
|
|
|
|
|
|
|
|
|
|
return ObjectMapper.Map<IdentityUser, IdentityUserDto>(user);
|
|
|
|
|
@ -52,9 +52,9 @@ namespace Volo.Abp.Identity
|
|
|
|
|
{
|
|
|
|
|
var user = await _userManager.GetByIdAsync(id);
|
|
|
|
|
|
|
|
|
|
await _userManager.SetUserNameAsync(user, input.UserName);
|
|
|
|
|
CheckIdentityErrors(await _userManager.SetUserNameAsync(user, input.UserName));
|
|
|
|
|
await UpdateUserByInput(user, input);
|
|
|
|
|
await _userManager.UpdateAsync(user);
|
|
|
|
|
CheckIdentityErrors(await _userManager.UpdateAsync(user));
|
|
|
|
|
await CurrentUnitOfWork.SaveChangesAsync();
|
|
|
|
|
|
|
|
|
|
return ObjectMapper.Map<IdentityUser, IdentityUserDto>(user);
|
|
|
|
|
@ -63,7 +63,7 @@ namespace Volo.Abp.Identity
|
|
|
|
|
public async Task DeleteAsync(Guid id)
|
|
|
|
|
{
|
|
|
|
|
var user = await _userManager.GetByIdAsync(id);
|
|
|
|
|
await _userManager.DeleteAsync(user);
|
|
|
|
|
CheckIdentityErrors(await _userManager.DeleteAsync(user));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task<ListResultDto<IdentityRoleDto>> GetRolesAsync(Guid id)
|
|
|
|
|
@ -77,19 +77,19 @@ namespace Volo.Abp.Identity
|
|
|
|
|
public async Task UpdateRolesAsync(Guid id, IdentityUserUpdateRolesDto input)
|
|
|
|
|
{
|
|
|
|
|
var user = await _userManager.GetByIdAsync(id);
|
|
|
|
|
await _userManager.SetRolesAsync(user, input.RoleNames);
|
|
|
|
|
CheckIdentityErrors(await _userManager.SetRolesAsync(user, input.RoleNames));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private async Task UpdateUserByInput(IdentityUser user, IdentityUserCreateOrUpdateDtoBase input)
|
|
|
|
|
{
|
|
|
|
|
await _userManager.SetEmailAsync(user, input.Email);
|
|
|
|
|
await _userManager.SetPhoneNumberAsync(user, input.PhoneNumber);
|
|
|
|
|
await _userManager.SetTwoFactorEnabledAsync(user, input.TwoFactorEnabled);
|
|
|
|
|
await _userManager.SetLockoutEnabledAsync(user, input.LockoutEnabled);
|
|
|
|
|
CheckIdentityErrors(await _userManager.SetEmailAsync(user, input.Email));
|
|
|
|
|
CheckIdentityErrors(await _userManager.SetPhoneNumberAsync(user, input.PhoneNumber));
|
|
|
|
|
CheckIdentityErrors(await _userManager.SetTwoFactorEnabledAsync(user, input.TwoFactorEnabled));
|
|
|
|
|
CheckIdentityErrors(await _userManager.SetLockoutEnabledAsync(user, input.LockoutEnabled));
|
|
|
|
|
|
|
|
|
|
if (input.RoleNames != null)
|
|
|
|
|
{
|
|
|
|
|
await _userManager.SetRolesAsync(user, input.RoleNames);
|
|
|
|
|
CheckIdentityErrors(await _userManager.SetRolesAsync(user, input.RoleNames));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|