예제 #1
0
        //public async Task<ActionResult> ChangePassword(MemberChangePasswordModel value)
        public async Task <JsonResult> ChangePassword(MemberChangePasswordModel value)
        {
            initpage();////
            var db = new DBContext();

            using (System.Data.Entity.DbContextTransaction ContextTransaction = db.Database.BeginTransaction())
            {
                try
                {
                    long mem_id     = MemberCurrentUser.MEM_ID;
                    var  changepass = db.TBL_MASTER_MEMBER.Where(x => x.MEM_ID == mem_id).FirstOrDefault();
                    if (changepass != null)
                    {
                        if (changepass.User_pwd == value.OldUser_pwd)
                        {
                            var userpass = value.User_pwd;
                            //userpass = userpass.GetPasswordHash();
                            changepass.User_pwd        = userpass;
                            db.Entry(changepass).State = System.Data.Entity.EntityState.Modified;
                            await db.SaveChangesAsync();

                            //throw new Exception();
                            var token            = TokenGenerator.GenerateToken();
                            var PasswordResetObj = new TBL_PASSWORD_RESET
                            {
                                ID      = token,
                                EmailID = changepass.EMAIL_ID,
                                Time    = DateTime.Now
                            };
                            db.TBL_PASSWORD_RESET.Add(PasswordResetObj);
                            db.SaveChanges();
                            ContextTransaction.Commit();
                            FormsAuthentication.SignOut();
                            FormsAuthentication.SignOut();
                            Session["WhiteLevelUserId"]   = null;
                            Session["WhiteLevelUserName"] = null;
                            Session.Clear();
                            Session.Remove("WhiteLevelUserId");
                            Session.Remove("WhiteLevelUserName");
                            //return RedirectToAction("Message");
                            return(Json("Password changed Successfully", JsonRequestBehavior.AllowGet));
                        }
                        else
                        {
                            return(Json("Please Enter Valid Old Password ", JsonRequestBehavior.AllowGet));
                        }
                    }
                    return(Json("OK", JsonRequestBehavior.AllowGet));
                }
                catch (Exception ex)
                {
                    ContextTransaction.Rollback();
                    Logger.Error("Controller:-  MemberChangePassword(Admin), method:- ChangePassword (POST) Line No:- 271", ex);

                    throw ex;
                    return(Json("Try Again After Sometime", JsonRequestBehavior.AllowGet));
                    //return View("Error", new HandleErrorInfo(ex, "APILabel", "CreateMember"));
                }
            }
        }
예제 #2
0
        public async Task <ActionResult> ChangePassword(MerchantChangePasswordModel value)
        {
            initpage();
            var db = new DBContext();

            using (System.Data.Entity.DbContextTransaction ContextTransaction = db.Database.BeginTransaction())
            {
                try
                {
                    long mem_id     = CurrentMerchant.MEM_ID;
                    var  changepass = db.TBL_MASTER_MEMBER.Where(x => x.MEM_ID == mem_id).FirstOrDefault();
                    if (changepass != null)
                    {
                        changepass.User_pwd        = value.User_pwd;
                        db.Entry(changepass).State = System.Data.Entity.EntityState.Modified;
                        await db.SaveChangesAsync();
                    }
                    var token            = TokenGenerator.GenerateToken();
                    var PasswordResetObj = new TBL_PASSWORD_RESET
                    {
                        ID      = token,
                        EmailID = changepass.EMAIL_ID,
                        Time    = DateTime.Now
                    };
                    db.TBL_PASSWORD_RESET.Add(PasswordResetObj);
                    db.SaveChanges();
                    //throw new Exception();
                    ContextTransaction.Commit();
                    FormsAuthentication.SignOut();
                    Session["MerchantUserId"]   = null;
                    Session["MerchantUserName"] = null;
                    Session.Clear();
                    Session.Remove("MerchantUserId");
                    Session.Remove("MerchantUserName");
                    //return RedirectToAction("Message");
                    return(RedirectToAction("Message", "MerchantLogin", new { area = "Merchant" }));
                }
                catch (Exception ex)
                {
                    ContextTransaction.Rollback();
                    Logger.Error("Controller:-  DistributorPasswordChange(Super), method:- ChangePassword (POST) Line No:- 124", ex);
                    return(RedirectToAction("Exception", "ErrorHandler", new { area = "" }));

                    throw ex;
                    //return View("Error", new HandleErrorInfo(ex, "APILabel", "CreateMember"));
                }
            }
        }
예제 #3
0
        public ActionResult ForgotPassword(ForgettenPassword user)
        {
            if (ModelState.IsValid)
            {
                var db          = new DBContext();
                var UserProfile = db.TBL_MASTER_MEMBER.Where(x => x.EMAIL_ID == user.Email && x.ACTIVE_MEMBER == true).FirstOrDefault();
                if (UserProfile != null)
                {
                    var token            = TokenGenerator.GenerateToken();
                    var PasswordResetObj = new TBL_PASSWORD_RESET
                    {
                        ID      = token,
                        EmailID = user.Email,
                        Time    = DateTime.Now
                    };
                    db.TBL_PASSWORD_RESET.Add(PasswordResetObj);
                    db.SaveChanges();
                    string resetLink = "<a href='"
                                       + Url.Action("ResetPassword", "Login", new { rt = token }, "http")
                                       + "'>Password Reset</a>";
                    string nameurl = Request.Url.GetLeftPart(UriPartial.Authority);
                    string Domain  = Request.Url.Scheme + System.Uri.SchemeDelimiter + Request.Url.Host + (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port);

                    string firstname = UserProfile.MEMBER_NAME;

                    //string fullName = firstname + " " + lastname;
                    string fullName = UserProfile.UName;
                    string Email    = user.Email;
                    string name     = fullName;

                    EmailHelper emailHelper = new EmailHelper();
                    string      Subject     = "Password Reset";
                    string      mailBody    = emailHelper.GetEmailTemplate(fullName, "Someone has asked to reset the password on your Urwex account. <br /><br />If you didn’t request a password reset, you can disregard this email. <strong>No changes have been made to your account</strong>.<br /> <br />To reset your password, click this link: " + resetLink + " or copy and paste it into your browser.The password reset link is only valid for the next 90 minutes.", "WelcomeTemplate.html");
                    emailHelper.SendUserEmail(Email, Subject, mailBody);
                    ViewBag.Message = "Please check your email for further instructions";
                    return(View(user));
                }
                else
                {
                    var UserProfilevale = db.TBL_AUTH_ADMIN_USERS.FirstOrDefault(x => x.USER_EMAIL == user.Email);
                    if (UserProfilevale != null)
                    {
                        var token            = TokenGenerator.GenerateToken();
                        var PasswordResetObj = new TBL_PASSWORD_RESET
                        {
                            ID      = token,
                            EmailID = user.Email,
                            Time    = DateTime.Now
                        };
                        db.TBL_PASSWORD_RESET.Add(PasswordResetObj);
                        db.SaveChanges();
                        string resetLink = "<a href='"
                                           + Url.Action("ResetPassword", "Login", new { rt = token }, "http")
                                           + "'>Password Reset</a>";
                        string nameurl = Request.Url.GetLeftPart(UriPartial.Authority);
                        string Domain  = Request.Url.Scheme + System.Uri.SchemeDelimiter + Request.Url.Host + (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port);

                        string firstname = UserProfile.MEMBER_NAME;

                        //string fullName = firstname + " " + lastname;
                        string fullName = UserProfile.UName;
                        string Email    = user.Email;
                        string name     = fullName;

                        EmailHelper emailHelper = new EmailHelper();
                        string      Subject     = "Password Reset";
                        string      mailBody    = emailHelper.GetEmailTemplate(fullName, "Someone has asked to reset the password on your Urwex account. <br /><br />If you didn’t request a password reset, you can disregard this email. <strong>No changes have been made to your account</strong>.<br /> <br />To reset your password, click this link: " + resetLink + " or copy and paste it into your browser.The password reset link is only valid for the next 90 minutes.", "WelcomeTemplate.html");
                        emailHelper.SendUserEmail(Email, Subject, mailBody);
                        ViewBag.Message = "Please check your email for further instructions";
                        return(View(user));
                    }
                    else
                    {
                        ViewBag.Message = "Email is not available";
                    }
                }
            }
            //ViewBag.Message = "Please check your email for further instructions";
            return(View(user));
        }