本文整理汇总了C#中HRM.Data.Entity.VnrHrmDataContext.Set方法的典型用法代码示例。如果您正苦于以下问题:C# VnrHrmDataContext.Set方法的具体用法?C# VnrHrmDataContext.Set怎么用?C# VnrHrmDataContext.Set使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HRM.Data.Entity.VnrHrmDataContext
的用法示例。
在下文中一共展示了VnrHrmDataContext.Set方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: LoadPermission
/// <summary>
/// Tải tất cả thông tin phân quyền của một người dùng.
/// </summary>
/// <param name="userID"></param>
/// <returns></returns>
public List<DataPermission> LoadPermission(Guid userID)
{
using (var context = new VnrHrmDataContext())
{
//Nguồn gốc của phân quyền: Kiểm tra user thuộc những nhóm người dùng, trung tâm, chi nhánh và nhóm dữ liệu nào?
var listDataPermission = context.Set<Sys_DataPermission>().Where(d => (!d.IsDelete.HasValue || !d.IsDelete.Value)
&& d.Sys_Group != null && d.Sys_Group.IsActivate && (!d.Sys_Group.IsDelete.HasValue || !d.Sys_Group.IsDelete.Value)
&& d.UserID == userID).Select(d => new DataPermission
{
UserID = d.UserID,
GroupID = d.GroupID,
Branches = d.Branches,
DataGroups = d.DataGroups
}).ToList();
//Lấy tất cả danh sách nhóm người dùng mà user này trực thuộc (được phân quyền)
List<Guid?> listGroupID = listDataPermission.Select(d => d.GroupID).Distinct().ToList();
var listGroupPermission2 = context.Set<Sys_GroupPermission2>().Where(d => (!d.IsDelete.HasValue || !d.IsDelete.Value)
&& listGroupID.Contains(d.GroupID)).ToList();
var listGroupPermission = listGroupPermission2.Select(d => new GroupPermission
{
GroupID = d.GroupID,
PrivilegeNumber = Convert.ToInt32(d.PrivilegeNumber??0),
ResourceName = d.Sys_Resource.ResourceName
}).ToList();
foreach (var dataPermission in listDataPermission)
{
if (dataPermission.Branches != null)
{
dataPermission.BranchNumbers = dataPermission.Branches.ToNumbers();
if (dataPermission.BranchNumbers != null && dataPermission.BranchNumbers.Count() > 0)
{
if (!dataPermission.BranchNumbers.Any(d => d > 0))
{
dataPermission.ListBranchID = new int[] { -1 }.ToList();
}
else
{
dataPermission.ListBranchID = context.Set<Cat_OrgStructure>().Where(d => (!d.IsDelete.HasValue || !d.IsDelete.Value)
&& dataPermission.BranchNumbers.Contains(d.OrderNumber)).Select(d => d.OrderNumber).ToList();
}
}
}
if (dataPermission.DataGroups != null)
{
dataPermission.DataGroupNumbers = dataPermission.DataGroups.ToNumbers();
if (dataPermission.DataGroupNumbers != null && dataPermission.DataGroupNumbers.Count() > 0)
{
//var listDataGroup = context.Set<Sys_DataGroup>().Where(d => (!d.IsDelete.HasValue || !d.IsDelete.Value)
// && dataPermission.DataGroupNumbers.Contains(d.GroupNumber)).Select(d => d.ID).ToList();
}
}
dataPermission.ListGroupPermission = listGroupPermission.Where(d =>
d.GroupID == dataPermission.GroupID).ToList();
}
if (UserPermissions.ContainsKey(userID))
{
UserPermissions[userID] = listDataPermission;
}
else
{
//Lưu thông tin phân quyền của người dùng này
UserPermissions.Add(userID, listDataPermission);
}
return listDataPermission;
}
}