Пример #1
0
        public async Task <bool> ResetPasswordAsync(ResetPasswordRq model)
        {
            try
            {
                var user = await _userManager.FindByEmailAsync(model.Email);

                string code = await _userManager.GeneratePasswordResetTokenAsync(user);

                if (user == null)
                {
                    return(false);
                }

                var result = await _userManager.ResetPasswordAsync(user, code, model.Password);

                if (!result.Succeeded)
                {
                    return(false);
                }

                await _uow.SaveChangesAsync();

                await _emailService.SendEmailResetPasswordAsync(user.Email, user.UserName);

                return(true);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Пример #2
0
 public async Task <IActionResult> ResetPasswordWebAsync([FromBody] ResetPasswordRq model)
 {
     try
     {
         return(Ok(await _authService.ResetPasswordAsync(model)));
     }
     catch (Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
Пример #3
0
 public async Task <IActionResult> ResetPasswordByPhoneNumberAsync([FromBody] ResetPasswordRq model)
 {
     try
     {
         return(Ok(await _authService.ChangePasswordMobileByPhoneAsync(model)));
     }
     catch (Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
Пример #4
0
        public async Task <bool> ChangePasswordMobileByPhoneAsync(ResetPasswordRq model)
        {
            try
            {
                string netCode = _userRepository.GetNetResetCodeByResetCode(model.Code);

                if (netCode.Equals(string.Empty))
                {
                    return(false);
                }

                var user = await _userRepository.GetUserByPhoneNumber(model.PhoneNumber);

                if (user == null)
                {
                    return(false);
                }

                var result = await _userManager.ResetPasswordAsync(user, netCode, model.Password);

                if (!result.Succeeded)
                {
                    return(false);
                }

                await _uow.SaveChangesAsync();

                await _emailService.SendEmailResetPasswordAsync(user.Email, user.UserName);

                return(true);
            }
            catch (Exception e)
            {
                throw e;
            }
        }