private List <ObjectPermission> GetAllPms() { List <TYPE_PERMISSION> _lstType_Pms = new List <TYPE_PERMISSION>(); _lstType_Pms = _ITYPE_PERMISSIONService.GetAll(); List <Type_PmsMulti> _lstPmsMulti = new List <Type_PmsMulti>(); foreach (var item in _lstType_Pms) { Type_PmsMulti _typeRecord = new Type_PmsMulti(); _typeRecord.PERMISSIONID = item.PERMISSIONID; _typeRecord.TYPE_PERMISSIONMULTIID = item.TYPE_PERMISSIONMULTI; _typeRecord.TYPE_PERMISSIONMULTINAME = GetPmsMultiTypeName(item.TYPE_PERMISSIONMULTI); _typeRecord.Loai_Permission = item.LOAI_PERMISSION; _lstPmsMulti.Add(_typeRecord); } List <permission> _lstAllPms = new List <permission>(); //ThaiPV : chỉnh sửa ngày 10/12/2016, loại bỏ permission tra cứu giám định, permission này dành riêng cho hỗ trợ, ko hiển thị cho người dùng. _lstAllPms = _iPMSService.GetAll().Where(x => x.name != "TRA_CUU_GD").ToList(); var _lstPmsFull = (from p in _lstPmsMulti join q in _lstAllPms on p.PERMISSIONID equals q.permissionid select new { permissionid = p.PERMISSIONID, name = q.name, Description = q.Description, MultiPmsTypeID = p.TYPE_PERMISSIONMULTIID, TYPE_PERMISSIONMULTINAME = p.TYPE_PERMISSIONMULTINAME, objid = q.ObjectRBAC.objectid, objname = q.ObjectRBAC.name, loaiPermission = p.Loai_Permission }); List <ObjectPermission> lstObjPmsResults = new List <ObjectPermission>(); foreach (var item in _lstPmsFull) { ObjectPermission objP = new ObjectPermission(); objP.AppID = 1; objP.PermissionId = item.permissionid; objP.PmsName = item.name; objP.ObjName = item.objname; objP.ObjectId = item.objid; objP.DesPms = item.Description; objP.MultiTypeID = item.MultiPmsTypeID; objP.MultiTypeName = item.TYPE_PERMISSIONMULTINAME; objP.LoaiPermission = item.loaiPermission; lstObjPmsResults.Add(objP); } return(lstObjPmsResults.OrderBy(m => m.PermissionId).ToList()); }