public ActionResult EditUser(User user)
        {
            //Khởi tạo đối tượng UserDAO
            var dao = new UserDAO();
            //Khởi tạo đối tượng mã hóa
            Endcode_Decode ed = new Endcode_Decode();

            if (ModelState.IsValid)
            {
                //Mã hóa password trước khi update
                string encryptedPassword = ed.EncodePassword(user.UserName, user.Password);
                user.Password = encryptedPassword;
                bool result = dao.UpdateUser(user);
                if (result)
                {
                    //Gọi phương thức SetAlert của BaseController để hiển thị thông báo
                    SetAltert("Cập nhật người dùng thành công", 0);
                    return(RedirectToAction("Index", "User"));
                }
                else
                {
                    ModelState.AddModelError("EditUserErrors", "Cập nhật không thành công, vui lòng kiểm tra lại ");
                    user.Password = ed.DecodePassword(user.UserName, user.Password);
                    return(View(user));
                }
            }
            else
            {
                return(View(user));
            }
        }
        public ActionResult EditUser(int id)
        {
            Endcode_Decode ed = new Endcode_Decode();
            //Decode password để trả lại ra view trước khi update thông tin user
            var user = new UserDAO().ViewUserDetail(id);

            user.Password = ed.DecodePassword(user.UserName, user.Password);
            return(View(user));
        }
 public ActionResult Login(LoginModel model)
 {
     if (ModelState.IsValid)
     {
         var dao = new UserDAO();
         //Khởi dạo đối tượng mã hóa
         Endcode_Decode ed = new Endcode_Decode();
         //Mã hóa password để so sánh
         var EnCryptedPassword = ed.EncodePassword(model.UserName, model.Password);
         //Gọi chức năng login trong UserDAO
         var Result = dao.login(model.UserName, EnCryptedPassword);
         if (Result == 1)
         {
             var user        = dao.GetUserID(model.UserName);
             var userSession = new UserLogin();
             userSession.UserName = user.UserName;
             userSession.userID   = user.ID;
             Session.Add(Common.CommonConstants.USER_SESSION, userSession);
             return(RedirectToAction("Index", "Home"));
         }
         else if (Result == 0)
         {
             ModelState.AddModelError("loginfail", "Username không tồn tại");
         }
         else if (Result == -1)
         {
             ModelState.AddModelError("loginfail", "Username đã bị khóa");
         }
         else if (Result == -2)
         {
             ModelState.AddModelError("loginfail", "Password không đúng");
         }
         else
         {
             ModelState.AddModelError("loginfail", "Đăng nhập không thành công");
         }
     }
     else
     {
         //ModelState.AddModelError("loginfail", "Model is Invalid");
     }
     return(View("Index"));
 }
        public ActionResult CreateUser(User user)
        {
            if (ModelState.IsValid)
            {
                var dao = new UserDAO();
                //Kiểm tra xem Username này đã có trong CSDL chưa
                if (dao.UserExists(user.UserName) == false)
                {
                    //Khởi tạo đối tượng mã hóa
                    Endcode_Decode ed = new Endcode_Decode();
                    //Mã hóa password trước khi insert
                    string encryptedPassword = ed.EncodePassword(user.UserName, user.Password);
                    user.Password = encryptedPassword;

                    long id = dao.CreateUser(user);
                    if (id > 0)
                    {
                        //Gọi phương thức SetAlert của BaseController để hiển thị thông báo
                        SetAltert("Tạo người dùng thành công", 0);
                        return(RedirectToAction("Index", "User"));
                    }
                    else
                    {
                        ModelState.AddModelError("CreateUserErrors", "Chưa tạo được user, vui lòng kiểm tra lại ");
                    }
                }
                else
                {
                    //Trường hợp đã tồn tại Username
                    ModelState.AddModelError("CreateUserErrors", "Username nảy đã tồn tại, chọn Username khác! ");
                }
            }
            else
            {
                //ModelState.AddModelError("CreateUserErrors", "Thông tin user không hợp lệ, vui lòng kiểm tra lại ");
            }
            return(View("CreateUser"));
        }