public ActionResult ForgotPassword(AccountForgotPasswordInputModel input)
        {
            if (ModelState.IsValid)
            {
                var userStatus = this.accountAdapter.ResetPassword(input.Email);

                if (userStatus.StatusCode == 200)
                {

                }

                var error = userStatus.Errors.First();
                ModelState.AddModelError(error.MemberNames.First(), error.ErrorMessage);
            }

            return View(new AccountForgotPasswordModel { Input = input });
        }
        public ActionResult ForgotPassword(AccountForgotPasswordInputModel input)
        {
            if (ModelState.IsValid)
            {
                var userStatus = this.accountAdapter.ResetPassword(input.Email);

                if (userStatus.StatusCode == 200)
                {
                    return View(
                        new AccountForgotPasswordModel()
                        {
                            Input = new AccountForgotPasswordInputModel(),
                            Message = "Password reset successfully, check your email for your temporary password"
                        }
                    );
                }

                if (userStatus.Errors != null)
                {
                    for (int i = 0; i < userStatus.Errors.Length; ++i)
                    {
                        ModelState.AddModelError(
                            userStatus.Errors[i].MemberNames.First(),
                            userStatus.Errors[i].ErrorMessage);
                    }
                }
                else
                {
                    // output a friendly message, actual error will be logged
                    ModelState.AddModelError("Account", userStatus.Message);
                }
            }

            return View(new AccountForgotPasswordModel { Input = input });
        }