Example #1
0
        public async Task <ActionResult> ConfirmPhone(ConfirmPhoneNumberViewModel model)
        {
            //if (!ModelState.IsValid)
            //{
            //    return View(model);
            //}

            var idp = (from p in _db.AspNetUsers
                       where p.PhoneNumber.Equals(model.PhoneNumber)
                       select p).ToList();
            var cid = idp[0].Id;

            var result = await UserManager.ChangePhoneNumberAsync(cid, model.PhoneNumber, model.Code);

            if (result.Succeeded)
            {
                var user = await UserManager.FindByIdAsync(cid);

                if (user != null)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);
                }
                return(Redirect("http://sagainn.com.mx:" + puerto + "/DatosContacto/" + cid));
                //return Redirect("http://localhost:59984/DatosContacto/" + cid);
            }
            // Si llegamos a este punto, es que se ha producido un error, volvemos a mostrar el formulario
            ModelState.AddModelError("", "¡Oops! tú código no es correcto, Intentalo de nuevo.");
            return(View(model));
        }
Example #2
0
        public async Task <IActionResult> ConfirmPhoneNumber(ConfirmPhoneNumberViewModel model)
        {
            try
            {
                var verification = await _phoneVerificationSender.VerifyCode(model.PhoneNumber, model.Code);

                if (verification.Status == "approved")
                {
                    var identityUser = await GetUser();

                    identityUser.PhoneNumberConfirmed = true;
                    var updateResult = await _userManager.UpdateAsync(identityUser);

                    if (updateResult.Succeeded)
                    {
                        return(RedirectToAction("Index"));
                    }
                    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(model));
        }
Example #3
0
        public async Task <IActionResult> ConfirmPhoneNumber()
        {
            var user = await GetUser();

            var model = new ConfirmPhoneNumberViewModel {
                PhoneNumber = user.PhoneNumber
            };

            return(View(model));
        }
Example #4
0
        public PartialViewResult ConfirmPhoneNumberPartial()
        {
            var currentUserId = User.Identity.GetUserId();
            var isConfirmed   = UserManager.IsPhoneNumberConfirmed(currentUserId);
            var phoneNumber   = UserManager.GetPhoneNumber(currentUserId);
            ConfirmPhoneNumberViewModel model = new ConfirmPhoneNumberViewModel()
            {
                IsConfirmed = isConfirmed,
                PhoneNumber = phoneNumber
            };

            return(PartialView("_ConfirmPhoneNumber", model));
        }
        public async Task<IActionResult> ConfirmPhoneNumber(ConfirmPhoneNumberViewModel model)   
        {
            var user = await _userManager.GetUserAsync(HttpContext.User);

            var result = await _userManager.ChangePhoneNumberAsync(user, user.PhoneNumber, model.Token);
            if (result.Succeeded)
            {
                return RedirectToAction(nameof(HomeController.Index), "Home");
            }
            else
            {
                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError("", error.Description);
                }

                return View(model);
            }
        }