Пример #1
0
        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);
        }
Пример #2
0
        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));
        }