public ActionResult Login(NGUOIDUNG model)
 {
     using (DatabaseDDSVEntities db = new DatabaseDDSVEntities())
     {
         var user = db.NGUOIDUNGs.FirstOrDefault(x => x.TENDANGNHAP == model.TENDANGNHAP && x.MATKHAU == model.MATKHAU);
         if (user != null)
         {
             Session["IDNGUOIDUNG"] = user.IDNGUOIDUNG;
             Session["TENDANGNHAP"] = user.TENDANGNHAP;
             Session["IDPHANQUYEN"] = user.IDPHANQUYEN;
             FormsAuthentication.SetAuthCookie(user.TENDANGNHAP, false);
             if (user.IDPHANQUYEN == 1)
             {
                 return(RedirectToAction("../Admin/Index"));
             }
             else if (user.IDPHANQUYEN == 2)
             {
                 return(RedirectToAction("../Giangvien/Index"));
             }
             else if (user.IDPHANQUYEN == 3)
             {
                 return(RedirectToAction("../Sinhvien/Index"));
             }
         }
         else
         {
             model.LoginErroMsg = "Incorrect Username Or Password";
             return(View("Login", model));
         }
     }
     return(View("Login", model));
 }
        public ActionResult ResetPassword(ResetPasswordModel model)
        {
            var message = "";

            if (ModelState.IsValid)
            {
                using (DatabaseDDSVEntities dc = new DatabaseDDSVEntities())
                {
                    var user = dc.NGUOIDUNGs.Where(a => a.ResetPasswordCode == model.ResetCode).FirstOrDefault();
                    if (user != null)
                    {
                        user.MATKHAU           = Crypto.Hash(model.NewPassword);
                        user.ResetPasswordCode = "";
                        dc.Configuration.ValidateOnSaveEnabled = false;
                        dc.SaveChanges();
                        message = "New password updated successfully";
                    }
                }
            }
            else
            {
                message = "Something invalid";
            }
            ViewBag.Message = message;
            return(View(model));
        }
        //END FORGOT PASSWORD//

        //RESET PASSWORD//
        public ActionResult ResetPassword(string id)
        {
            //Verify the reset password link
            //Find account associated with this link
            //redirect to reset password page
            if (string.IsNullOrWhiteSpace(id))
            {
                return(HttpNotFound());
            }

            using (DatabaseDDSVEntities dc = new DatabaseDDSVEntities())
            {
                var user = dc.NGUOIDUNGs.Where(a => a.ResetPasswordCode == id).FirstOrDefault();
                if (user != null)
                {
                    ResetPasswordModel model = new ResetPasswordModel();
                    model.ResetCode = id;
                    return(View(model));
                }
                else
                {
                    return(HttpNotFound());
                }
            }
        }
        public ActionResult ForgotPassword(string EmailID)
        {
            //Verify Email ID
            //Generate Reset password link
            //Send Email
            string message = "";
            bool   status  = false;

            using (DatabaseDDSVEntities dc = new DatabaseDDSVEntities())
            {
                var account = dc.NGUOIDUNGs.Where(x => x.EMAIL == EmailID).FirstOrDefault();
                if (account != null)
                {
                    //Send email for reset pass//
                    string resetCode = Guid.NewGuid().ToString();
                    SendVerificationLinkEmail(account.EMAIL, resetCode, "ResetPassword");
                    account.ResetPasswordCode = resetCode;
                    //
                    dc.Configuration.ValidateOnSaveEnabled = false;
                    dc.SaveChanges();
                    message = "Reset password link has been sent to your email id.";
                }
                else
                {
                    message = "Account not found";
                }
            }
            ViewBag.Message = message;
            return(View());
        }
 public bool IsEmailExist(string emailID)
 {
     using (DatabaseDDSVEntities dc = new DatabaseDDSVEntities())
     {
         var v = dc.NGUOIDUNGs.Where(a => a.EMAIL == emailID).FirstOrDefault();
         return(v != null);
     }
 }
        public ActionResult VerifyAccount(string id)
        {
            bool Status = false;

            using (DatabaseDDSVEntities dc = new DatabaseDDSVEntities())
            {
                dc.Configuration.ValidateOnSaveEnabled = false; // This line I have added here to avoid
                                                                // Confirm password does not match issue on save changes
                var v = dc.NGUOIDUNGs.Where(a => a.ActivationCode == new Guid(id)).FirstOrDefault();
                if (v != null)
                {
                    v.IsEmailVerified = true;
                    dc.SaveChanges();
                    Status = true;
                }
                else
                {
                    ViewBag.Message = "Invalid Request";
                }
            }
            ViewBag.Status = Status;
            return(View());
        }
        public ActionResult ForgotPassword(string EmailID, string UserID)
        {
            DatabaseDDSVEntities db = new DatabaseDDSVEntities();
            var check = db.NGUOIDUNGs.Where(x => x.TENDANGNHAP == UserID && x.EMAIL == EmailID).FirstOrDefault();

            if (check != null)
            {
                string senderID       = "*****@*****.**";
                string senderPassword = "******";
                string result         = "Email Sent Successfully";

                string body = " " + UserID + " has sent an email from " + EmailID;
                try
                {
                    MailMessage mail = new MailMessage();
                    mail.To.Add(senderID);
                    mail.From       = new MailAddress(senderID);
                    mail.Subject    = "My Test Email!";
                    mail.Body       = body;
                    mail.IsBodyHtml = true;
                    SmtpClient smtp = new SmtpClient();
                    smtp.Host        = "smtp.gmail.com"; //Or Your SMTP Server Address
                    smtp.Credentials = new System.Net.NetworkCredential(senderID, senderPassword);
                    smtp.Port        = 587;
                    smtp.EnableSsl   = true;
                    smtp.Send(mail);
                }
                catch (Exception ex)
                {
                    result = "problem occurred";
                    Response.Write("Exception in sendEmail:" + ex.Message);
                }
                return(Json(result));
            }
            return(View());
        }