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"); }