AddToUserAsync(string id, CancellationToken cancellationToken = default(CancellationToken)) { var user = await _userManager.FindByIdAsync(id); if (user == null) { return((Result <UserAdministrationView>) Result <UserAdministrationView> .NotOk <UserAdministrationView>(null, "User is not exist")); } await _userManager.RemoveFromRoleAsync(user, "Admin"); var identityUser = _mapper.Map <IdentityUserAdministrationDTO>(user); var roles = await _userManager.GetRolesAsync(user); var profile = await _service.GetUserProfileByIdentityIdAsync(id, cancellationToken); if (profile.IsError || !profile.IsSuccess) { UserAdministrationView failView = new UserAdministrationView() { Profile = null, IdentityUser = identityUser, Roles = roles.ToList <string>() }; return((Result <UserAdministrationView>) Result <UserAdministrationView> .NotOk <UserAdministrationView>(failView, profile.Message)); } UserAdministrationView view = new UserAdministrationView() { Profile = profile.Data, IdentityUser = identityUser, Roles = roles.ToList <string>() }; var sendingResult = await _emailSender.SendEmailAsync(user.Email, "Changed role", "You have been removed from the administrator role! Do not reply to this message, it was generated automatically!", cancellationToken); if (sendingResult.IsError) { return((Result <UserAdministrationView>) Result <UserAdministrationView> .Fail <UserAdministrationView>(sendingResult.Message)); } return((Result <UserAdministrationView>) Result <UserAdministrationView> .Ok(view)); }
GetUserByIdAsync(string id, CancellationToken cancellationToken = default(CancellationToken)) { var user = await _userManager.FindByIdAsync(id); if (user == null) { return((Result <UserAdministrationView>) Result <UserAdministrationView> .NotOk <UserAdministrationView>(null, "User is not exist")); } var identityUser = _mapper.Map <IdentityUserAdministrationDTO>(user); var roles = await _userManager.GetRolesAsync(user); var profile = await _service.GetUserProfileByIdentityIdAsync(id, cancellationToken); if (profile.IsError || !profile.IsSuccess) { UserAdministrationView failView = new UserAdministrationView() { Profile = null, IdentityUser = identityUser, Roles = roles.ToList <string>() }; return((Result <UserAdministrationView>) Result <UserAdministrationView> .NotOk <UserAdministrationView>(failView, profile.Message)); } UserAdministrationView view = new UserAdministrationView() { Profile = profile.Data, IdentityUser = identityUser, Roles = roles.ToList <string>() }; return((Result <UserAdministrationView>) Result <UserAdministrationView> .Ok(view)); }