public ActionResult SetFunc(int sMaDM, string sMaCN, string sMaNV, string sCHK)
        {
            sMaNV = sMaNV.ToLower();
            sMaNV = sMaNV.Replace(",undefined", "");
            sMaNV = sMaNV.Replace(",on", "");
            sMaNV = sMaNV.Replace(",false", "");
            sMaNV = sMaNV.Replace(",true", "");

            string[] nd  = sMaNV.Split(',');
            int      len = nd.Length;

            if (len > 0)
            {
                for (int y = 1; y < len; y++)
                {
                    int manv       = int.Parse(nd[y].ToString());
                    var check_nvcn = from a in db.NhanVienChucNangs
                                     where a.MaNV == manv && a.MaDM == sMaDM && a.MaCN.Equals(sMaCN)
                                     select a;
                    var check_nvcn2 = from a in db.NhanVienChucNangs
                                      where a.MaNV == manv && a.MaDM == sMaDM
                                      select a;

                    if (check_nvcn.Count() > 0)
                    {
                        db.NhanVienChucNangs.RemoveRange(db.NhanVienChucNangs.Where(d => d.MaNV == manv && d.MaDM == sMaDM && d.MaCN.Equals(sMaCN)));
                    }
                    if (check_nvcn2.Count() > 0)
                    {
                        db.PhanQuyens.RemoveRange(db.PhanQuyens.Where(d => d.MaNV == manv && d.MaDM == sMaDM));
                    }

                    var nvcn = from a in db.NhanVienChucNangs
                               where a.MaNV == manv && a.MaDM == sMaDM && a.MaCN.Equals(sMaCN)
                               select a;
                    if (nvcn.Count() == 0 && sCHK == "true")
                    {
                        var checkpq = from a in db.PhanQuyens
                                      where a.MaDM == sMaDM && a.MaNV == manv
                                      select a;
                        if (checkpq.Count() == 0)
                        {
                            PhanQuyen pq = new PhanQuyen();
                            pq.MaDM = sMaDM;
                            pq.MaNV = manv;
                            db.PhanQuyens.Add(pq);
                        }

                        NhanVienChucNang tb = new NhanVienChucNang();
                        tb.MaNV = manv;
                        tb.MaDM = sMaDM;
                        tb.MaCN = sMaCN;
                        db.NhanVienChucNangs.Add(tb);
                    }
                    db.SaveChanges();
                }
            }
            return(Json("1", JsonRequestBehavior.AllowGet));
        }
        public ActionResult Copy_Quyen(string sSoThe1, string sSoThe2)
        {
            try
            {
                var varnguon = from a in db.NhanViens
                               where a.SoThe.Equals(sSoThe1)
                               select new { a.MaNV };
                int mnv1    = varnguon.FirstOrDefault().MaNV;
                var vardich = from a in db.NhanViens
                              where a.SoThe.Equals(sSoThe2)
                              select new { a.MaNV };
                int mnv2 = vardich.FirstOrDefault().MaNV;

                var pq = from a in db.PhanQuyens
                         where a.MaNV == mnv1
                         select new { a.MaDM };
                if (pq.Count() > 0)
                {
                    if (db.PhanQuyens.Where(r => r.MaNV == mnv2).Count() > 0)
                    {
                        db.PhanQuyens.RemoveRange(db.PhanQuyens.Where(r => r.MaNV == mnv2));
                    }
                    foreach (var r in pq)
                    {
                        PhanQuyen tbpq = new PhanQuyen();
                        int       madm = r.MaDM;
                        tbpq.MaNV = mnv2;
                        tbpq.MaDM = madm;
                        db.PhanQuyens.Add(tbpq);
                    }

                    var varnvcn = from a in db.NhanVienChucNangs
                                  where a.MaNV == mnv1
                                  select new { a.MaDM, a.MaCN };
                    if (varnvcn.Count() > 0)
                    {
                        if (db.NhanVienChucNangs.Where(r => r.MaNV == mnv2).Count() > 0)
                        {
                            db.NhanVienChucNangs.RemoveRange(db.NhanVienChucNangs.Where(r => r.MaNV == mnv2));
                        }

                        foreach (var r2 in varnvcn)
                        {
                            NhanVienChucNang nvcn = new NhanVienChucNang();
                            int    madm2          = r2.MaDM;
                            string macn           = r2.MaCN;
                            nvcn.MaNV = mnv2;
                            nvcn.MaDM = madm2;
                            nvcn.MaCN = macn;
                            db.NhanVienChucNangs.Add(nvcn);
                        }
                    }
                    db.SaveChanges();
                    return(Json(1, JsonRequestBehavior.AllowGet));
                }
                return(Json(0, JsonRequestBehavior.AllowGet));
            }
            catch
            {
                return(Json("", JsonRequestBehavior.AllowGet));
            }
        }