Ejemplo n.º 1
0
        public async Task <IActionResult> EnterCode(EnterCodeViewModel model)
        {
            var user = await GetCurrentUserAsync();

            if (!ModelState.IsValid)
            {
                model.Recover(user);
                model.ModelStateValid = ModelState.IsValid;
                return(View(model));
            }
            var correctToken = await _userManager.VerifyChangePhoneNumberTokenAsync(user, model.Code, model.NewPhoneNumber);

            if (correctToken)
            {
                var result = await UserService.SetPhoneNumberAsync(user.Id, await AppsContainer.AccessToken()(), model.NewPhoneNumber);

                if (result.Code == ErrorType.Success)
                {
                    user.PhoneNumber = model.NewPhoneNumber;
                    await _userManager.UpdateAsync(user);

                    return(RedirectToAction(nameof(Phone), new { JustHaveUpdated = true }));
                }
                throw new InvalidOperationException();
            }
            else
            {
                model.ModelStateValid = false;
                model.Recover(user);
                ModelState.AddModelError("", "Your token is invalid!");
                return(View(model));
            }
        }
Ejemplo n.º 2
0
 public async Task<IActionResult> EnterCode(string NewPhoneNumber)
 {
     var user = await GetCurrentUserAsync();
     var model = new EnterCodeViewModel(user)
     {
         NewPhoneNumber = NewPhoneNumber
     };
     return View(model);
 }
Ejemplo n.º 3
0
 public void SetViewModel(EnterCodeViewModel viewModel)
 {
     DataContext = viewModel;
 }