public async Task <InteractionResultSM> ChangePasswordAsync(UserSM user, string oldPassword, string newPassword) { var applicationUser = await _userManager.FindByIdAsync(user.Id); var result = await _userManager.ChangePasswordAsync(applicationUser, oldPassword, newPassword); return(InteractionResultSMFactory.CreateResult(user, result)); }
public async Task <InteractionResultSM> CreateUserAsync(UserSM user, string password) { var applicationUser = Mapper.Map <ApplicationUser>(user); var createResult = await _userManager.CreateAsync(applicationUser, password); user.Id = applicationUser?.Id; return(InteractionResultSMFactory.CreateResult(user, createResult)); }
public async Task <InteractionResultSM> UpdateUserRolesAsync(string userId, IEnumerable <string> addToRoles, IEnumerable <string> removeFromRoles) { var applicationUser = await _userManager.FindByIdAsync(userId); var addResult = await _userManager.AddToRolesAsync(applicationUser, addToRoles); var removeResult = await _userManager.RemoveFromRolesAsync(applicationUser, removeFromRoles); return(InteractionResultSMFactory.CreateResult(applicationUser, addResult)); }
public async Task <InteractionResultSM> UpdateUserAsync(UserSM user) { var applicationUser = await _userManager.FindByIdAsync(user.Id); applicationUser.FirstName = user.FirstName; applicationUser.LastName = user.LastName; applicationUser.Email = user.Email; applicationUser.PhoneNumber = user.PhoneNumber; var result = await _userManager.UpdateAsync(applicationUser); return(InteractionResultSMFactory.CreateResult(user, result)); }
public async Task <InteractionResultSM> ConfirmEmailAsync(string userId, string code) { var user = await _userManager.FindByIdAsync(userId); if (user == null) { throw new ApplicationException($"Unable to load user with ID '{userId}'."); } var result = await _userManager.ConfirmEmailAsync(user, code); return(InteractionResultSMFactory.CreateResult(user, result)); }
public async Task <InteractionResultSM> LoginAsync(LoginSM model) { var result = await _signInManager.PasswordSignInAsync(model.Username, model.Password, model.RememberLogin, lockoutOnFailure : false); if (result.Succeeded) { var user = await _signInManager.UserManager.FindByNameAsync(model.Username); await _events.RaiseAsync(new UserLoginSuccessEvent(user.UserName, user.Id, user.UserName)); return(InteractionResultSMFactory.CreateResult(user, result)); } await _events.RaiseAsync(new UserLoginFailureEvent(model.Username, "invalid credentials")); return(InteractionResultSMFactory.CreateResult(null, result)); }
public async Task <InteractionResultSM> ResetPasswordAsync(UserSM user, string code, string password) { IdentityResult result = await _userManager.ResetPasswordAsync(Mapper.Map <ApplicationUser>(user), code, password); return(InteractionResultSMFactory.CreateResult(user, result)); }