Example #1
0
        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));
        }
Example #2
0
        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));
        }
Example #3
0
        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));
        }
Example #4
0
        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));
        }
Example #5
0
        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));
        }
Example #6
0
        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));
        }
Example #7
0
        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));
        }