BrockAllen.MembershipReboot.Mvc.Areas.UserAccount.Controllers.PasswordResetController.ResetWithQuestions C# (CSharp) Метод

ResetWithQuestions() приватный Метод

private ResetWithQuestions ( BrockAllen.MembershipReboot.Mvc.Areas.UserAccount.Models.PasswordResetWithSecretInputModel model ) : System.Web.Mvc.ActionResult
model BrockAllen.MembershipReboot.Mvc.Areas.UserAccount.Models.PasswordResetWithSecretInputModel
Результат System.Web.Mvc.ActionResult
        public ActionResult ResetWithQuestions(PasswordResetWithSecretInputModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var answers =
                        model.Questions.Select(x => new PasswordResetQuestionAnswer { QuestionID = x.QuestionID, Answer = x.Answer });
                    this.userAccountService.ResetPasswordFromSecretQuestionAndAnswer(model.UnprotectedAccountID.Value, answers.ToArray());
                    return View("ResetSuccess");
                }
                catch (ValidationException ex)
                {
                    ModelState.AddModelError("", ex.Message);
                }
            }

            var id = model.UnprotectedAccountID;
            if (id != null)
            {
                var account = this.userAccountService.GetByID(id.Value);
                if (account != null)
                {
                    var vm = new PasswordResetWithSecretInputModel(account.ID);
                    vm.Questions =
                        account.PasswordResetSecrets.Select(
                            x => new PasswordResetSecretViewModel
                            {
                                QuestionID = x.PasswordResetSecretID,
                                Question = x.Question
                            }).ToArray();
                    return View("ResetWithQuestions", vm);
                }
            }

            return RedirectToAction("Index");
        }