public bool SendEmailCode(Window window, string emailSubject, string emailContent) { var confirmationCode = new Random().Next(100000, 999999).ToString(); emailContent += confirmationCode; var Validator = new PersonalAccountValidator().ValidateEmail(UserModel.Instance.Email, emailSubject, emailContent); if (UserModel.Instance.Email == null || !Validator.IsValid) { MessageBox.Show(Validator.ValidationMessage); return(false); } var confirmationCodeViewModel = new ConfirmationCodeViewModel(window, confirmationCode); WindowManager.ChangeWindowContent(window, confirmationCodeViewModel, Resources.ConfirmationCodeWindowTitle, Resources.ConfirmationCodeControlPath); if (confirmationCodeViewModel.CloseAction == null) { confirmationCodeViewModel.CloseAction = () => window.Close(); } return(true); }
public async Task <IActionResult> ConfirmMobile(ConfirmationCodeViewModel code) { if (ModelState.IsValid) { var link = Helper.GetLink(code.Mobile, code.ShortenCode); var user = await _userManager.FindByNameAsync(code.Mobile); if (user != null) { if (code.IsResetPassword) { return(RedirectToAction(nameof(ResetPassword), new { code = link, userId = code.Mobile })); } var result = await _userManager.ConfirmEmailAsync(user, link); if (result.Succeeded) { code.IsConfirmed = true; } else { ModelState.AddModelError(String.Empty, "کد وارد شده نادرست است"); } } else { ModelState.AddModelError(String.Empty, "خطا در یافتن کاربر"); } } else { ModelState.AddModelError(String.Empty, "خطا در درخواست"); } return(View(code)); }