public IActionResult ForgetPassword(ForgetPasswordViewModel fpvm)
        {
            /*   if(!ModelState.IsValid)
             * {
             *    //
             *     return View(fpvm);
             * }
             */
            User user = _context.User.FirstOrDefault(x => x.UserID == fpvm.UserID);

            if (user == null)
            {
                ViewData["Exists"] = false;
                return(View());
            }

            if (fpvm.SecurityQuestion1 == user.SecurityQuestion1 && fpvm.SecurityQuestion2 == user.SecurityQuestion2)
            {
                HttpContext.Session.SetString("userID", fpvm.UserID);
                return(RedirectToAction("NewPassword"));
            }


            ViewData["RightAnswer"] = false;
            ViewData["Exists"]      = true;
            return(View(fpvm));
        }
        public ActionResult ForgetPassword(ForgetPasswordViewModel model)
        {
            var           db    = new ApplicationDbContext();
            ResetPassword token = new ResetPassword();
            Guid          guid  = Guid.NewGuid();

            token.Guid  = guid;
            token.State = 1;
            var user = db.Users.FirstOrDefault(c => c.UserName == model.UserName);

            token.UserId   = user.Id;
            token.CreateOn = DateTime.Now;
            token.UpdateOn = DateTime.Now;
            try
            {
                token.SaveOrUpdate();
                var    resetLink = "<a href='" + Url.Action("ResetPassword", "Account", new { userid = user.Id, guid = token.Guid }, "http") + "'>Reset Password</a>";
                string subject   = "Password Reset Token";
                string emailBody = "<b>Please find the Password Reset Token</b><br/>" + resetLink; //edit it
                var    test      = SendMailMessage(user.Email, subject, emailBody);
                var    temp      = user.Email.Split('@');
                SetSuccessMessage("Have sent a password reseting link to: " + temp[0] + "@xxxxx");
            }
            catch
            {
                SetErrorMessage("Sending Email failed.");
            }

            // If we got this far, something failed, redisplay form

            return(RedirectToAction("Index", "Home"));
        }
        public ActionResult ForgotPassword(ForgetPasswordViewModel forgetPassword)
        {
            if (ModelState.IsValid)
            {
                Users user = db.UserRepository.GetByEmail(forgetPassword.Email);
                if (user != null)
                {
                    if (user.IsActive)
                    {
                        string body = PartialToStringClass.RenderPartialView("ManageEmail", "RecoveryPassword", user);
                        SendEmail.Send(user.Email, "بازیابی کلمه عبور", body);
                        return(View("SuccessForgotPassword", user));
                    }
                    else
                    {
                        ModelState.AddModelError("Email", "حساب کاربری شما فعال نمی باشد");
                    }
                }
                else
                {
                    ModelState.AddModelError("Email", "کاربری با این ایمیل یافت نشد");
                }
            }

            return(View(forgetPassword));
        }
Exemple #4
0
        public async Task <IActionResult> ForgetPassword(ForgetPasswordViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var user = await userManager.FindByEmailAsync(viewModel.Email);

                if (user == null)
                {
                    ModelState.AddModelError(string.Empty, "ایمیل شما صحیح نمی باشد.");
                    return(View());
                }

                if (!await userManager.IsEmailConfirmedAsync(user))
                {
                    ModelState.AddModelError(string.Empty, "لطفا با تایید ایمیل حساب کاربری خود را فعال کنید.");
                    return(View());
                }

                var Code = await userManager.GeneratePasswordResetTokenAsync(user);

                var CallbackUrl = Url.Action("ResetPassword", "Account", values: new { Code }, protocol: Request.Scheme);
                await emailSender.SendEmailAsync(viewModel.Email, "بازیابی کلمه عبور", $"<p style='font-family:tahoma;font-size:14px'>برای بازنشانی کلمه عبور خود <a href='{HtmlEncoder.Default.Encode(CallbackUrl)}'>اینجا کلیک کنید</a></p>");

                return(RedirectToAction("ForgetPasswordConfirmation"));
            }

            return(View());
        }
        public BusinessLayerResult <Users> ForgetPasswordUser(ForgetPasswordViewModel data)
        {
            layerResult.Result = Find(x => x.Email == data.Email);
            if (layerResult.Result == null)
            {
                layerResult.AddError(ErrorMessageCode.EmailColudNotFind, "Lütfen sistemde kayıtlı bir email adresi giriniz");
            }
            else
            {
                int    newnumber = 0;
                Random rnd       = new Random();
                newnumber = rnd.Next();
                layerResult.Result.Password   = Crypto.Hash(newnumber.ToString(), "MD5");
                layerResult.Result.RePassword = Crypto.Hash(newnumber.ToString(), "MD5");

                if (Update(layerResult.Result) > 0)
                {
                    string body = $"Merhaba {layerResult.Result.Personnels.Name} {layerResult.Result.Personnels.Surname}; <br> <br> Yeni Şİfre : {newnumber}";
                    MailHelper.SendMail(body, layerResult.Result.Email, "Personel İzin Takip Sistemi - Yeni Şİfre Talebi", true);
                }
                else
                {
                    layerResult.AddError(ErrorMessageCode.CouldNotSendPassword, "Şifre gönderilirken hata oluştu!");
                }
            }

            return(layerResult);
        }
        public ActionResult ResetPassword(ForgetPasswordViewModel models)
        {
            //string decodedstrings = DecodeStrings.Decode(models.ReceivedCode);
            //string[] strlist = decodedstrings.Split('%');
            //string decodedcompanyid = strlist[0];
            //string decodeduserid = strlist[1];
            string password = string.Empty;
            string token    = string.Empty;

            password = models.password;
            token    = models.token;
            using (var httpClient = new HttpClient())
            {
                httpClient.BaseAddress = new Uri("http://fsmx-qa.azurewebsites.net");
                httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                ForgetPasswordViewModel resource = new ForgetPasswordViewModel()
                {
                    token    = token,
                    password = password
                };
                string json = JsonConvert.SerializeObject(resource);
                Console.WriteLine(json);
                StringContent content   = new StringContent(json, Encoding.UTF8, "application/json");
                var           response1 = httpClient.PostAsync("rest/c/profile/password", content);
                response1.Wait();
                var result1 = response1.Result;


                if (result1.IsSuccessStatusCode)
                {
                }
            }
            return(View());
        }
Exemple #7
0
        public async Task <ActionResult> ForgetPassword(ForgetPasswordViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            IUserManager       userManager = new UserManager();
            UserInformationDto user        = await userManager.GetUserByEmail(model.Email);

            string token;

            //查找的Email是否存在,在就获取id制作token,否则返回不存在
            if (user == null || !await userManager.ExistsUser(user.Id))
            {
                ModelState.AddModelError(string.Empty, "该邮箱不存在,请重试!");
                return(View());
            }
            token = JwtHelper.SetJwtEncode((user.Id).ToString(), 600);//jwt有效期十分钟
            string modelError = await userManager.ForgetPassword(token, user.Id, user.Email);

            if (modelError != null)//失败
            {
                ModelState.AddModelError(string.Empty, modelError);
                return(View(model));
            }
            //在执行发送邮件里记录错误信息
            string url = ConfigurationManager.AppSettings["MvcUrl"].ToString() + "/Home/ResetPassword?Token=" + token;

            MailHelper.SendEmailDefault(user.Email, url);
            ViewBag.Message = "发送邮件成功!";
            return(View("Tips"));
        }
Exemple #8
0
 public ActionResult ForgetPassword(ForgetPasswordViewModel forget)
 {
     if (ModelState.IsValid)
     {
         var user = db.Users.SingleOrDefault(u => u.Email == forget.Email);
         if (user != null)
         {
             if (user.IsActive)
             {
                 string bodyEmail =
                     PartialToStringClass.RenderPartialView("ManageEmail", "RecoveryPassword", user);
                 SendEmail.Send(user.Email, "بازیابی کلمه عبور", bodyEmail);
                 return(View("SuccessForgetPasword", user));
             }
             else
             {
                 ModelState.AddModelError("Email", "حساب کاربری شما فعال نیست");
             }
         }
         else
         {
             ModelState.AddModelError("Email", "کاربری یافت نشد");
         }
     }
     {
     }
     return(View());
 }
        public async Task <ActionResult> ForgetPassword(ForgetPasswordViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = await UserManager.FindByNameAsync(model.UserName);

                if (user != null)
                {
                    UserManager.RemovePassword(user.Id);
                    IdentityResult result = await UserManager.AddPasswordAsync(user.Id, model.NewPassword);

                    if (result.Succeeded)
                    {
                        return(RedirectToAction("Login"));
                    }
                    else
                    {
                        AddErrors(result);
                    }
                }
                else
                {
                    ModelState.AddModelError("", "使用者名稱不存在。");
                }
            }

            return(View(model));
        }
Exemple #10
0
        private static void ComposeObjects()
        {
            var api             = new ClientApi();
            var archiveVm       = new ArchiveViewModel();
            var commentsVm      = new CommentsViewModel();
            var newEmployeeVm   = new EmployeeViewModel();
            var employeesVm     = new EmployeesViewModel(newEmployeeVm);
            var loginVm         = new LoginViewModel(api);
            var forgetPasswodVm = new ForgetPasswordViewModel();
            var myTasksVm       = new MyTasksViewModel();
            var newTaskVm       = new NewTaskViewModel();
            var profileVm       = new ProfileViewModel();
            var trackingTasksVm = new TrackingTasksViewModel(newTaskVm);
            var reportsVm       = new ReportsViewModel();
            var mainWindowVm    = new MainWindowViewModel(archiveVm,
                                                          commentsVm,
                                                          employeesVm,
                                                          loginVm,
                                                          forgetPasswodVm,
                                                          myTasksVm,
                                                          profileVm,
                                                          reportsVm,
                                                          trackingTasksVm);

            Current.MainWindow = new MainWindow(mainWindowVm);
        }
        public async Task <IActionResult> ForgetPassword([FromBody] ForgetPasswordViewModel model)
        {
            try
            {
                var user = await _userManager.FindByEmailAsync(model.Email);

                if (user.IsNull())
                {
                    return(BadRequest(IdentityEnums.Errors.WhenResetPasswordUserNorFound.ToString()));
                }
                var token = await _userManager.GeneratePasswordResetTokenAsync(user);

                await _emailService.SendAsync(new EmailParam("Reset password Amazon.com")
                                              .AddSendTo(model.Email)
                                              .SetBody(
                                                  EmailHelper.AddParagraph("Please click below link for reset password."),
                                                  EmailHelper.AddLink(string.Format(model.CallbackUrl, GlobalConfig.HostModules[App.SharedKernel.Model.Enums.Modules.Identity]
                                                                                    , model.Email, token), "Click her")));

                return(Ok(token));
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemple #12
0
 public ForgetPassword()
 {
     InitializeComponent();
     // iOS Platform
     On <Xamarin.Forms.PlatformConfiguration.iOS>().SetUseSafeArea(true);
     BindingContext = _forgetPasswordViewModel = new ForgetPasswordViewModel(Navigation);
 }
Exemple #13
0
        public async Task <ActionResult> ForgetPassword(ForgetPasswordViewModel model)
        {
            if (ModelState.IsValid)
            {
                string         uri  = ApiPath + "getuser/ByEmail?Email=" + model.Email;//http://localhost:5014/
                CustomResponse user = new CustomResponse();
                using (HttpClient httpClient = new HttpClient())
                {
                    var xx = await httpClient.GetAsync(uri);

                    user = xx.Content.ReadAsAsync <CustomResponse>().Result;
                }
                if (user.IsSuccess)
                {
                    Users  userss  = JsonConvert.DeserializeObject <Users>(user.ResponseData.ToString());
                    string address = "http://" + Request.Url.Authority;
                    string link    = address + "/home/new-password/" + userss.ForgetPasswordCode;
                    string path    = Server.MapPath("~/HtmlTemplate/ForgetPassword.html");
                    string subject = "Reset Password for Motormechs";
                    string body    = System.IO.File.ReadAllText(path);
                    body = string.Format(body, userss.Name, link, address);
                    SendEmail(userss.Email, subject, body);
                }
                else
                {
                    ModelState.AddModelError("", user.Message);
                }
            }
            return(View());
        }
        public async Task <IActionResult> ForgetPassword(ForgetPasswordViewModel model)
        {
            if (User.Identity.IsAuthenticated)
            {
                return(RedirectToAction("Index", "Profile"));
            }

            UserModel user = await ManageUser.FindByEmailAsync(model.Email);

            ViewBag.Sent = false;
            if (user != null)
            {
                var token = await ManageUser.GeneratePasswordResetTokenAsync(user);

                var callbackUrl = Url.Action("ResetPassword", "Account", new { token = token, email = user.Email });
                var url         = "https://" + Request.Host + callbackUrl;

                MailRequest mailrequest = new MailRequest
                {
                    ToEmail = model.Email,
                    Subject = "Password Reset Token",
                    Body    = "<div style='text-align:center'> <h1 style='margin:20px;'> Reset Your Password. </h1> <a href='" + url + "' > Reset Password </a> </div>"
                };

                var result = await SendToken(mailrequest);

                if (result)
                {
                    ViewBag.Sent = true;
                }
            }

            return(View());
        }
Exemple #15
0
        public async Task <IActionResult> RecreatePassword(ForgetPasswordViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = await _userManager.FindByEmailAsync(model.Email);

                if (user is null)
                {
                    ModelState.AddModelError("NotFound", "A user with the given email not found");
                    return(View(model));
                }

                try
                {
                    await user.ConfirmForgotPasswordAsync(model.Code, model.NewPassword);

                    return(RedirectToAction("Index", "Home"));
                }
                catch (Exception ex)
                {
                    throw new Exception("Something went wrong.");
                }
            }

            return(View(model));
        }
        public async Task <IActionResult> ForgetPassword(ForgetPasswordViewModel forgetPasswordForm)
        {
            if (!ModelState.IsValid)
            {
                return(View(forgetPasswordForm));
            }

            var emailValidated = await _accountService.ValidateEmailAsync(forgetPasswordForm.Email);

            if (!emailValidated)
            {
                TempData["Error"] = "آدرس ایمیل وارد شده نامعتبر است";
                return(RedirectToAction("Login"));
            }

            var resetPasswordSent = await _accountService.SendResetPasswordAsync(forgetPasswordForm.Email);

            if (!resetPasswordSent)
            {
                TempData["Error"] = "مشکلی پیش آمد لطفا بعدا امتحان کنید";
                return(RedirectToAction("Login"));
            }

            TempData["Success"] = "لینک بازیابی رمز عبور به ایمیل شما ارسال شد!";
            return(RedirectToAction("Login"));
        }
Exemple #17
0
 public ActionResult ForgetPassword(ForgetPasswordViewModel _forgetPwd)
 {
     if (!userManager.HasUsername(_forgetPwd.PhoneNumber))
     {
         ModelState.AddModelError("PhoneNumber", "该手机号未注册");
     }
     if (TempData["VerificationCode"] == null || TempData["VerificationCode"].ToString() != _forgetPwd.VerificationCode)
     {
         ModelState.AddModelError("VerificationCode", "验证码不正确");
         return(View(_forgetPwd));
     }
     if (ModelState.IsValid)
     {
         var      _password   = Security.SHA256(_forgetPwd.Password);
         User     _forgetUser = userManager.Find(_forgetPwd.PhoneNumber);
         Response _res        = userManager.ChangePassword(_forgetUser.UserID, _password);
         if (_res.Code == 1)
         {
             return(RedirectToAction("Login", "User"));
         }
         else
         {
             ModelState.AddModelError("PhoneNumber", "未知错误请联系客服人员");
         }
     }
     return(View(_forgetPwd));
 }
Exemple #18
0
        public int SendRecoveryPasswordEMail(ForgetPasswordViewModel fpvm)
        {
            using (AssignmentManagementSystemEntities db = new AssignmentManagementSystemEntities())
            {
                tblStudent tb  = db.tblStudents.Where(s => s.Email == fpvm.Email).FirstOrDefault();
                tblTeacher tb1 = db.tblTeachers.Where(t => t.Email == fpvm.Email).FirstOrDefault();
                tblAdmin   tb2 = db.tblAdmins.Where(a => a.Email == fpvm.Email).FirstOrDefault();
                try
                {
                    string password = "";
                    if (tb != null)
                    {
                        password = tb.Password;
                    }
                    else if (tb1 != null)
                    {
                        password = tb1.Password;
                    }
                    else
                    {
                        password = tb2.Password;
                    }

                    if (tb != null || tb1 != null || tb2 != null)
                    {
                        var          fromAddress  = new MailAddress("*****@*****.**", "santoshmandal97788");
                        var          toAddress    = new MailAddress(fpvm.Email, "To Name");
                        const string fromPassword = "******";
                        const string subject      = "Assignment Management System Password Recovery:";

                        var sendpwd = password;
                        var smtp    = new SmtpClient
                        {
                            Host                  = "smtp.gmail.com",
                            Port                  = 587,
                            EnableSsl             = true,
                            DeliveryMethod        = SmtpDeliveryMethod.Network,
                            UseDefaultCredentials = false,
                            Credentials           = new NetworkCredential(fromAddress.Address, fromPassword)
                        };
                        using (var message = new MailMessage(fromAddress, toAddress)
                        {
                            Subject = subject,
                            Body = "Hi!" + "Your Assignment Management System Password is: " + sendpwd
                        })
                        {
                            smtp.Send(message);
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                }
                return(0);
            }
        }
        public async Task <IActionResult> ForgetPassword(ForgetPasswordViewModel model)
        {
            SetPageContent("forgetpassword");

            if (ModelState.IsValid)
            {
                var user = _userManager.Users.FirstOrDefault(i => i.PhoneNumber == model.CellPhone);
                if (user == null || !(await _userManager.IsPhoneNumberConfirmedAsync(user)))
                {
                    ModelState.AddModelError("", "Kullanıcı kaydı bulunamadı. Lütfen tekrar deneyiniz.");
                    return(View(model));
                }

                var code = await _userManager.GeneratePasswordResetTokenAsync(user);

                var callbackUrl = Url.RouteUrl("resetpassword", new { userId = user.Id, code = code });

                _notificationService.AddNotification(user.Id, NotificationTypes.ForgetPassMail, param: callbackUrl);

                return(SetTransactionResult(
                           string.Format("Şifre yenileme maili {0} adresine başarılı bir şekilde gönderilmiştir. Mailinize gelecek şifre yenileme linki ile şifrenizi değiştirebilirsiniz.", Utils.MaskEmail(user.Email)),
                           Url.RouteUrl("home"),
                           TransactionType.Success
                           ));
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Exemple #20
0
        public async Task <IActionResult> ForgotPassword(ForgetPasswordViewModel forgetPassword)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(forgetPassword));
                }

                var user = await _userManager.FindByEmailAsync(forgetPassword.Email);

                if (user == null || !await _userManager.IsEmailConfirmedAsync(user))
                {
                    // Don't reveal that the user does not exist or is not confirmed
                    return(RedirectToAction(nameof(ForgotPasswordSucess)));
                }

                var code = await _userManager.GeneratePasswordResetTokenAsync(user);

                var callbackUrl = Url.ResetPasswordCallbackLink(user.Id, code, Request.Scheme);
                await _emailSender.SendEmailAsync(forgetPassword.Email, "Resetar Senha",
                                                  $"Por Favor Resete Sua Senha Clicando Aqui: <a href='{callbackUrl}'>link</a>");

                return(RedirectToAction(nameof(ForgotPasswordSucess)));
            }
            catch (Exception)
            {
                return(View(forgetPassword));
            }
        }
Exemple #21
0
        public async Task <IActionResult> ForgotPassword(ForgetPasswordViewModel model)
        {
            if (ModelState.IsValid)
            {
                var appUser = await _userManager.FindByEmailAsync(model.Email);

                if (appUser == null)
                {
                    ModelState.AddModelError("UserNotFound", _localizer["UserNotFound"]);
                    return(View());
                }
                var resetToken = await _userManager.GeneratePasswordResetTokenAsync(appUser);

                var callbackUrl = CallBackUrl("User", "ChangePassword", appUser.Id, HttpUtility.UrlEncode(resetToken), Request.Scheme);
                var isSended    = await _messageSender.SendEmailAsync(appUser.Email, "Forgot your password?", this.EmailMessage(callbackUrl));

                if (isSended)
                {
                    ViewBag.Success = _localizer["DefaultSuccess"];
                }
                else
                {
                    ViewBag.Error = _localizer["DefaultError"];
                }
            }
            ModelState.Clear();
            return(View());
        }
Exemple #22
0
        public async Task <ActionResult> ForgetPassword(ForgetPasswordViewModel model)
        {
            var forgetPasswordValidation = securityProvider.FindUserByEmailAddress(model.Email);

            if (forgetPasswordValidation != null && this.IsCaptchaValid("Invalid captcha words"))
            {
                var newPassword = securityProvider.ResetPassword(forgetPasswordValidation, model.Email);
                var viewModel   = new ForgetPasswordMailViewModel();
                viewModel.CustomerName = String.Format("{0} {1}",
                                                       forgetPasswordValidation.FirstName,
                                                       forgetPasswordValidation.LastName);
                viewModel.NewPassword = newPassword;


                var template = emailTemplateProvider.GetEmailTemplate(EmailTemplates.ForgetPassword);

                var config = new TemplateServiceConfiguration();
                using (var service = RazorEngineService.Create(config))
                {
                    var subject = service.RunCompile(template.Subject, "subject", typeof(ForgetPasswordMailViewModel),
                                                     viewModel);
                    var content = service.RunCompile(template.Content, "content", typeof(ForgetPasswordMailViewModel),
                                                     viewModel);
                    await mailer.SendMail(model.Email, template.Bcc, subject, content);
                }
                TempData["EmailAddress"] = model.Email;
                return(RedirectToAction("ForgetPasswordSuccess"));
            }
            ModelState.AddModelError("ForgetPassword", "Sorry we are unable to validate your account. Please try again.");
            return(RedirectToAction("ForgetPassword"));
        }
Exemple #23
0
        public async Task <IActionResult> Şifrəniunutmuşam(ForgetPasswordViewModel forgetPasswordViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(forgetPasswordViewModel));
            }

            ApplicationUser user = await _usermanager.FindByEmailAsync(forgetPasswordViewModel.Email);

            if (user == null)
            {
                ModelState.AddModelError("", "Bu email  qeydiyyatdan keçirilməyib!");
                return(View(forgetPasswordViewModel));
            }

            string passwordResetToken = await _usermanager.GeneratePasswordResetTokenAsync(user);

            SmtpClient client = new SmtpClient("smtp.gmail.com", 587);

            client.UseDefaultCredentials = false;
            client.EnableSsl             = true;
            client.Credentials           = new NetworkCredential(_configuration["ConnectionsStrings:SmtpClientCredentialEmail"],
                                                                 _configuration["ConnectionsStrings:SmtpClientCredentialPassword"]);
            MailMessage message = new MailMessage("*****@*****.**", forgetPasswordViewModel.Email);

            message.IsBodyHtml = true;
            message.Subject    = "Hesabın təsdiqlənməsi";
            message.Body       = $"<a href='https://localhost:44346/Hesab/Şifrəniyenilə?userId={user.Id}&passwordResetToken={passwordResetToken}'>Hesabınızı pərpa edin</a>";
            client.Send(message);

            TempData["ForgotPassword"] = true;
            return(View());
        }
        public ForgetPassword()
        {
            InitializeComponent();
            viewModel = App.Locator.ForgetPasswordView;

            InitializeComponent();
            this.BindingContext = viewModel;
        }
Exemple #25
0
        /// <summary>
        /// Validate user data information forget password.
        /// </summary>
        /// <param name="model">The forget password information.</param>
        /// <returns></returns>
        private bool ValidateInformation(ForgetPasswordViewModel model)
        {
            var data = _unitOfWork.GetRepository <Customer>().GetCache(x =>
                                                                       x.Email == model.Email &&
                                                                       string.Equals(x.FirstNameEn, model.FirstNameEn, StringComparison.OrdinalIgnoreCase) &&
                                                                       string.Equals(x.LastNameEn, model.LastNameEn, StringComparison.OrdinalIgnoreCase)).FirstOrDefault();

            return((data != null) ? true : false);
        }
Exemple #26
0
 public ActionResult ForgetPassword(ForgetPasswordViewModel model)
 {
     if (ModelState.IsValid)
     {
         return(RedirectToAction("ResetPassword", "Account"));
     }
     else
     {
         return(View(model: model));
     }
 }
Exemple #27
0
        public ApiResult <ForgetPasswordViewModel> ForgetPassword(ForgetPasswordViewModel model)
        {
            var    dbResult     = new ApiResult <ForgetPasswordViewModel>();
            string errorMessage = string.Empty;

            try
            {
                // Kiểm tra dữ liệu
                var ValidPassword = ValidateForgetPassword(model);
                if (!ValidPassword.Succeeded)
                {
                    return(ValidPassword);
                }

                // Tạo token code và thời gian hết hạn
                string   tokenCode = EncryptCore.Md5Get(DateTime.Now.Ticks + model.Email + EncryptCore.KeyEncrypt);;
                DateTime tokenExp  = DateTime.Now.AddDays(1);

                // Lấy kết quả trả về từ DB
                dbResult = userDAL.ForgetPassword(model, tokenCode, tokenExp);

                // Kiểm tra kết quả
                if (dbResult.Succeeded)
                {
                    // Tạo nội dung của email
                    var otpEmailFormat =
                        new
                    {
                        HoTen = dbResult.Data.FirstName,
                        Link  = model.UrlForm + "?Token=" + tokenCode
                    };
                    var msgEmailOtp = EmailContentHtml.EmailContentFormat(otpEmailFormat, "ResetPassword.html");

                    // Gửi email cho user
                    var emailSendStt = EmailUtility.SendMail(ConfigUtil.Email_DisplayName, model.Email, "Quên mật khẩu", msgEmailOtp);
                }

                return(dbResult);
            }
            catch (Exception ex)
            {
                dbResult.Failed(new ErrorObject()
                {
                    Code        = Constants.ERR_EXCEPTION,
                    Description = ex.Message
                });
                return(dbResult);
            }
        }
Exemple #28
0
        public async Task <IActionResult> ForgetPassword(ForgetPasswordViewModel vm)
        {
            var model = await _userRepository
                        .GetByConditionAsync(a => a.UserName == vm.UserName && a.PhoneNumber == vm.PhoneNumber);

            if (model == null)
            {
                TempData.AddResult(SweetAlertExtenstion.Error("کاربری یافت نشد"));
                return(View());
            }

            var resultSms = _smsRestClient.SendByBaseNumber(model.ActiveCode.ToPersianNumbers(), model.PhoneNumber, (int)SmsBaseCodeSSOT.ForgetPassword);

            return(RedirectToAction("AuthorizeCode", new { code = model.SecurityStamp }));
        }
Exemple #29
0
        public virtual async Task <ActionResult> ForgotPassword(ForgetPasswordViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = await _userManager.FindByNameAsync(model.Email);

                var result = await _userManager.IsEmailConfirmedAsync(user.Id);

                if (user == null || !(await _userManager.IsEmailConfirmedAsync(user.Id)))
                {
                    return(PartialView(viewName: MVC.admin.Shared.Views._alert, model: new AlertViewModel {
                        Alert = AlertOperation.SurveyOperation(StatusOperation.NoExistEmail), Status = AlertMode.info
                    }));
                }

                try
                {
                    var code = await _userManager.GeneratePasswordResetTokenAsync(user.Id);

                    var callbackUrl = Url.Action(MVC.Account.ActionNames.ResetPassword, MVC.Account.Name,
                                                 new { userId = user.Id, code }, protocol: Request.Url.Scheme);


                    string Messagedate = ConvertDate.PerssionDate(DateTime.Now);
                    string Explainbody;
                    using (var reader = new StreamReader(Server.MapPath("~/EmailConfiguration/TemplateEmail/_ForgotPassword.txt")))
                    {
                        Explainbody = reader.ReadToEnd();
                    }
                    string UserName   = ((user.Name != null) && (user.Family != null)) ? string.Concat(user.Name + " " + user.Family) : user.Email;
                    string resultBody = string.Format(Explainbody, UserName, "ویرایش رمز عبور", callbackUrl, Messagedate);
                    await _userManager.SendEmailAsync(user.Id, "ویرایش رمز عبور در فناوران اطلاعات ارم وب", resultBody);

                    return(PartialView(viewName: MVC.admin.Shared.Views._alert, model: new AlertViewModel {
                        Alert = AlertOperation.SurveyOperation(StatusOperation.ResetPassword), Status = AlertMode.success
                    }));
                }
                catch
                {
                    return(PartialView(viewName: MVC.admin.Shared.Views._alert, model: new AlertViewModel {
                        Alert = AlertOperation.SurveyOperation(StatusOperation.FailSendEmail), Status = AlertMode.warning
                    }));
                }
            }
            return(PartialView(viewName: MVC.admin.Shared.Views._alert, model: new AlertViewModel {
                Alert = AlertOperation.SurveyOperation(StatusOperation.Invalid), Status = AlertMode.warning
            }));
        }
Exemple #30
0
        public virtual async Task <ActionResult> ForgetPassword(ForgetPasswordViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }

            User thuser = _userService.GetUserByEmail(viewModel.Email);

            await _unitOfWork.SaveAllChangesAsync(false);

            if (true)
            {
                return(View());
            }
        }