public IActionResult ConfirmMobile() { // get name of user string UserId = _ius.GetId(); ViewBag.fullname = _ius.GetById(UserId).FirstName + " " + _ius.GetById(UserId).LastName; // update wallet ViewBag.Wallet = _ius.GetById(UserId).Wallet; var userId = _ius.GetId(); var query = _ius.GetById(userId); if (query != null) { ConfirmPhoneViewModel model = new ConfirmPhoneViewModel { IdUser = query.Id, FirstName = query.FirstName, LastName = query.LastName, PhoneNumber = query.PhoneNumber, PhoneNumberConfirmed = query.PhoneNumberConfirmed }; _number = model.PhoneNumber; return(View(model)); } string error = "صفحه مورد نظر یافت نشد"; return(View("NotFounds", error)); }
public ActionResult ConfirmPhone(string phoneNumber) { ConfirmPhoneViewModel vm = new ConfirmPhoneViewModel { PhoneNumber = phoneNumber }; return(View(vm)); }
public IActionResult ConfirmMobile(ConfirmPhoneViewModel model) { // get name of user string UserId = _ius.GetId(); ViewBag.fullname = _ius.GetById(UserId).FirstName + " " + _ius.GetById(UserId).LastName; // update wallet ViewBag.Wallet = _ius.GetById(UserId).Wallet; if (ModelState.IsValid) { try { // تایید کد وارد شده int codeOtp = Convert.ToInt32(model.CodeOTP); // کد درست است if (codeOtp == _codeOTP) { // تایید شماره در دیتابیس var userId = _ius.GetId(); var query = _ius.GetById(userId); if (query != null) { _iups.ConfirmMobile(query); _iups.save(); // نمایش تاییدیه ConfirmPhoneViewModel u = new ConfirmPhoneViewModel { IdUser = query.Id, FirstName = query.FirstName, LastName = query.LastName, PhoneNumber = query.PhoneNumber, PhoneNumberConfirmed = query.PhoneNumberConfirmed }; _number = u.PhoneNumber; ViewBag.confirmChecked = "شماره موبایل تایید شد"; return(View(u)); } } } catch { // کاراکتر وارد شده غیر عدد است ViewBag.confirmWrong = "کد وارد شده اشتباه است"; return(View(model)); } } return(View(model)); }
public async Task <IActionResult> ConfirmPhone([FromBody] ConfirmPhoneViewModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var appUser = await userManager.FindByNameAsync(model.Email); if (appUser == null) { return(NotFound(model.Email)); } if (appUser.PhoneNumberConfirmed) { var message = $"{model.Email} phone is already confirmed."; ModelState.AddModelError(string.Empty, message); logger.LogError(message); return(BadRequest(ModelState)); } var changeResult = await userManager.ChangePhoneNumberAsync(appUser, model.Phone, model.Code); if (!changeResult.Succeeded) { changeResult.Errors.ToList().ForEach(x => { logger.LogWarning($"{model.Email} phone confirmation failed: {x.Description}."); ModelState.AddModelError(string.Empty, x.Description); }); return(BadRequest(ModelState)); } var passwordResetToken = await userManager.GeneratePasswordResetTokenAsync(appUser); if (string.IsNullOrWhiteSpace(passwordResetToken)) { logger.LogError($"Password change token creation for user {appUser.Email} failed."); throw new PasswordChangeTokenNotCreatedException(appUser.Email); } var phoneConfirmationResult = new PhoneConfirmationResult { Token = passwordResetToken }; return(Ok(phoneConfirmationResult)); }
public async Task <IActionResult> ConfirmPhone(ConfirmPhoneViewModel confirmPhoneViewModel) { if (ModelState.IsValid) { try { var verification = await VerificationCheckResource.CreateAsync( to : confirmPhoneViewModel.PhoneNumber, code : confirmPhoneViewModel.VerificationCode, pathServiceSid : _settings.VerificationServiceSID ); if (verification.Status == "approved") { var identityUser = await _userManager.GetUserAsync(User); identityUser.PhoneNumberConfirmed = true; var updateResult = await _userManager.UpdateAsync(identityUser); if (updateResult.Succeeded) { return(RedirectToAction("ConfirmPhoneSuccess")); } else { ModelState.AddModelError("", "There was an error confirming the verification code, please try again"); } } else { ModelState.AddModelError("", $"There was an error confirming the verification code: {verification.Status}"); } } catch (Exception) { ModelState.AddModelError("", "There was an error confirming the code, please check the verification code is correct and try again"); } } return(View(confirmPhoneViewModel)); }
public async Task <IActionResult> ConfirmPhoneNumber(ConfirmPhoneViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var result = await _identityService.ConfirmPhoneAsync(CurrentUserService.UserId, model.PhoneNumber, model.Token); if (result) { var command = new ConfirmPhoneNumberCommand { PhoneNumber = model.PhoneNumber }; await Mediator.Send(command); return(RedirectToAction("Index")); } ModelState.AddModelError("Token", "کد وارد شده معتبر نیست"); return(View(model)); }