public ActionResult SendPassword(string Model, string InvisibleCaptchaValue, string CaptchaValue)
        {
            if (!CaptchaController.IsCaptchaValid(CaptchaValue) || !CaptchaController.IsInvisibleCaptchaValid(InvisibleCaptchaValue))
            {
                ModelState.AddModelError(string.Empty, "Captcha error.");
                return(View());
            }

            if (ModelState.IsValid)
            {
                if (Model != null)
                {
                    Model = Model.Trim();
                }
                User u = _db.Users.FirstOrDefault(r => r.Email == Model);
                if (u == null)
                {
                    ModelState.AddModelError("", LocalizationHelpers.GetLocalResource("~/Views/Account/SendPassword.cshtml", "UsernameIncorrect"));
                }
                else
                {
                    // _db.OutEmails.Add(new OutEmail() { MailTo = Model, Subject = LocalizationHelpers.GetLocalResource("~/Views/Account/SendPassword.cshtml", "EmailTitle"), Body = LocalizationHelpers.GetLocalResource("~/Views/Account/SendPassword.cshtml", "EmailBody").Replace("{0}", u.UserName).Replace("{1}", u.Password) });
                    var messService = new MessageService(_db);
                    messService.SendUserPasswordEmailToUser(u);
                    return(RedirectToAction("SendPasswordSuccess"));
                }
            }
            return(View());
        }
        public ActionResult SendPasswordAjx(string Model, string InvisibleCaptchaValue, string CaptchaValue)
        {
            if (!CaptchaController.IsCaptchaValid(CaptchaValue) || !CaptchaController.IsInvisibleCaptchaValid(InvisibleCaptchaValue))
            {
                ModelState.AddModelError(string.Empty, RP.S("Errors.Common.CaptchaWrong"));
                return(Json(new { result = "error", message = ModelState.Values.Select(x => new { Value = x.Value != null ? x.Value.AttemptedValue : "", errors = x.Errors.Select(y => y.ErrorMessage) }) }));
            }

            if (ModelState.IsValid)
            {
                User u = _db.Users.FirstOrDefault(r => r.Email == Model);
                if (u == null)
                {
                    ModelState.AddModelError("", RP.S("Errors.Account.UserNameIncorrect"));
                    return(Json(new { result = "error", message = ModelState.Values.Select(x => new { Value = x.Value != null ? x.Value.AttemptedValue : "", errors = x.Errors.Select(y => y.ErrorMessage) }) }));
                }
                else
                {
                    var messService = new MessageService(_db);
                    messService.SendUserPasswordEmailToUser(u);
                    ModelState.AddModelError("", RP.S("Info.Account.PasswordSended"));
                    return(Json(new { result = "error", message = ModelState.Values.Select(x => new { Value = x.Value != null ? x.Value.AttemptedValue : "", errors = x.Errors.Select(y => y.ErrorMessage) }) }));
                }
            }
            return(Json(new { result = "error", message = ModelState.Values.Select(x => new { Value = x.Value != null ? x.Value.AttemptedValue : "", errors = x.Errors.Select(y => y.ErrorMessage) }) }));
        }