public ActionResult ResetPassword(string emailId, string Token, CreateUserViewModel model)
        {
            Logger.log.Info("ResetPassword: emailId=" + emailId + ",Token=" + Token);

            if (model.Password != model.ConfirmPassword)
            {
                ModelState.AddModelError("", "password and Confirm password doesnot match");
                return(View(model));
            }

            UserMaster user = UserMaster.GetUserByEmail(emailId, con);

            if (user == null)
            {
                ModelState.AddModelError("", "Invalid Reset Link");
                return(View(model));
            }

            if (user.reset_token != Token)
            {
                ModelState.AddModelError("", "Invalid Reset Link");
                return(View(model));
            }
            if (user.reset_token_expiry <= DateTime.Now)
            {
                ModelState.AddModelError("", "password reset link has expired!");
                return(View(model));
            }

            UserMaster.UpdatePassword(emailId, model.Password, con);

            return(RedirectToAction("Login", "Account"));
        }
        public ActionResult CreateUser(CreateUserViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            if (model.Password != model.ConfirmPassword)
            {
                ModelState.AddModelError("", "password and Confirm password doesnot match");
                return(View(model));
            }

            UserMaster user = UserMaster.GetUserByEmail(model.EmailAddress, con);

            if (user != null)
            {
                ModelState.AddModelError("", "Email already Registered");
                return(View(model));
            }

            string strp = UserMaster.EncryptString(model.Password);

            UserMaster new_user = new UserMaster();

            new_user.cid             = Convert.ToInt32(Session["cid"]);
            new_user.email           = model.EmailAddress;
            new_user.display_name    = model.DisplayName;
            new_user.hashed_password = strp;
            new_user.mobile_number   = model.Mobile;
            new_user.created_by_uid  = Convert.ToInt32(Session["uid"]);

            int i = UserMaster.CreateUser(new_user, con);

            if (i > 0)
            {
                user = UserMaster.GetUserByEmail(model.EmailAddress, con);
                CommonStuff.SendEmail(user.email, "Welcome to DotNetIsEasy.com", CommonStuff.getEmailVerificationBody(user.email, user.emailvalidationToken));

                //user = UserMaster.Login(model.EmailAddress, model.Password, con);

                //Session["uid"] = user.uid;
                //Session["DisplayName"] = user.display_name;
                //Session["cid"] = user.cid;
                return(RedirectToAction("Success", "Account"));
            }
            else
            {
                return(View(model));
            }
        }
        public ActionResult ResendEmail(LoginViewModel model)
        {
            UserMaster user = UserMaster.GetUserByEmail(model.Email, con);

            if (user == null)
            {
                ModelState.AddModelError("", "Invalid login attempt.");
                return(View(model));
            }

            CommonStuff.SendEmail(model.Email, "Welcome to DotNetIsEasy.com", CommonStuff.getEmailVerificationBody(user.email, user.emailvalidationToken));
            return(RedirectToAction("Login", "Account"));
            //return View();
        }
        public ActionResult ForgotPassword(LoginViewModel model)
        {
            UserMaster user = UserMaster.GetUserByEmail(model.Email, con);

            if (user == null)
            {
                ModelState.AddModelError("", "Email is not registered with us.");
                return(View(model));
            }

            string rnd = CommonStuff.GetRandomString(30);

            UserMaster.GeneratePasswordToken(model.Email, rnd, con);
            CommonStuff.SendEmail(model.Email, "Reset your password", CommonStuff.getEmailPasswordReset(user.email, rnd));
            return(RedirectToAction("Success", "Account", new { msg = "A password reset link has been send on your email id.  Please check your spam folder if not deliver in inbox" }));
            //return View();
        }
        public ActionResult CreateUser(CreateUserViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            UserMaster user = UserMaster.GetUserByEmail(model.EmailAddress, con);

            if (user != null)
            {
                ModelState.AddModelError("", "Email already Registered");
                return(View(model));
            }

            string strp = UserMaster.EncryptString(model.Password);

            UserMaster new_user = new UserMaster();

            new_user.cid             = Convert.ToInt32(Session["cid"]);
            new_user.email           = model.EmailAddress;
            new_user.display_name    = model.DisplayName;
            new_user.hashed_password = strp;
            new_user.mobile_number   = model.Mobile;
            new_user.created_by_uid  = Convert.ToInt32(Session["uid"]);

            int i = UserMaster.CreateUser(new_user);

            if (i > 0)
            {
                return(RedirectToAction("Dashboard", "Home"));
            }
            else
            {
                return(View(model));
            }
        }