private void CapNhatChucNang(Quyen quyen, string[] selectedPermissions)
 {
     if (selectedPermissions == null)
     {
         return;
     }
     var selectedPermission = new HashSet<string>(selectedPermissions);
     var PermissionRole = quyen.ChucNangs.Select(c => c.IdChucNang);
     foreach (var permission in db.ChucNangs)
     {
         if (selectedPermission.Contains(permission.IdChucNang.ToString()))
         {
             if (!PermissionRole.Contains(permission.IdChucNang))
             {
                 quyen.ChucNangs.Add(permission);
             }
         }
         else
         {
             if (PermissionRole.Contains(permission.IdChucNang))
             {
                 quyen.ChucNangs.Remove(permission);
             }
         }
     }
 }
 private void DanhSachChucNang(Quyen quyen)
 {
     var TatCaChucNang = db.ChucNangs;
     var RolePermission = new HashSet<int>(quyen.ChucNangs.Select(r => r.IdChucNang));
     var viewModel = new List<AssignedPermission>();
     foreach (var chucnang in TatCaChucNang)
     {
         viewModel.Add(new AssignedPermission
         {
             IdChucNang = chucnang.IdChucNang,
             TenChucNang = chucnang.TenChucNang,
             Assigned = RolePermission.Contains(chucnang.IdChucNang)
         });
     }
     ViewBag.Permissions = viewModel;
 }
 public ActionResult ThemPhanQuyen(FormCollection collection, int[] selectedPermissions)
 {
     string ten = collection["txtTen"];
     if (String.IsNullOrEmpty(ten))
     {
         TempData["ThongBao"] = "Tên không được để trống";
         return RedirectToAction("ThemPhanQuyen");
     }
     Quyen role = new Quyen { TenQuyen = ten, ChucNangs = new List<ChucNang>() };
     if (selectedPermissions != null)
     {
         foreach (var item in selectedPermissions)
         {
             var chucnang = db.ChucNangs.SingleOrDefault(p => p.IdChucNang == item);
             role.ChucNangs.Add(chucnang);
         }
     }
     db.Quyens.Add(role);
     db.SaveChanges();
     return RedirectToAction("ThemPhanQuyen");
 }