public ActionResult Create(User user)
 {
     if (ModelState.IsValid)
     {
         var dao = new UserDao();
         user.Password = Encryptor.MD5Hash(user.Password);
         long id = dao.Insert(user);
         if (id > 0)
         {
             SetAlert("Thêm user thành công", "success");
             return RedirectToAction("Index", "User");
         }
         else
         {
             ModelState.AddModelError("", "Thêm user không thành công");
         }
     }
     return View("Index");
 }
        public ActionResult Edit(User user)
        {
            if (ModelState.IsValid)
            {
                var dao = new UserDao();
                if(!string.IsNullOrEmpty(user.Password))
                {
                    var encryptedMd5Pas = Encryptor.MD5Hash(user.Password);
                    user.Password = encryptedMd5Pas;
                }

                if (dao.Update(user))
                {
                    SetAlert("Cập nhật user thành công", "success");
                    return RedirectToAction("Index", "User");
                }
                else
                {
                    ModelState.AddModelError("", "Cập nhật user không thành công");
                }
            }
            return View("Index");
        }
 public long Insert(User entity)
 {
     db.Users.Add(entity);
     db.SaveChanges();
     return entity.ID;
 }
        public bool Update(User entity)
        {
            try
            {
                //Method 1:
                //var user = db.Users.Find(entity.ID);
                //user.Name = entity.Name;
                //if (!string.IsNullOrEmpty(entity.Password))
                //    user.Password = entity.Password;
                //user.Address = entity.Address;
                //user.Email = entity.Email;
                //user.ModifiedBy = entity.ModifiedBy;
                //user.ModifiedDate = entity.ModifiedDate;
                //db.SaveChanges();

                //Method 2:
                //using (var dbContext = new OnlineShopDbContext())
                //{
                //    dbContext.Entry(entity).State = System.Data.Entity.EntityState.Modified;
                //    dbContext.SaveChanges();
                //}

                //Method 3:
                var user = db.Users.Find(entity.ID);
                if (string.IsNullOrEmpty(entity.Password))
                    entity.Password = user.Password;
                db.Entry(user).CurrentValues.SetValues(entity);
                db.SaveChanges();

                return true;
            }
            catch (Exception)
            {
                //logging
                return false;
            }
        }