public ActionResult GetPlistGroupRoles(GetPlistGroupRoles requestData) { if (!ModelState.IsValid) { return(ModelState.ToJsonResult()); } var data = AcDomain.GetPlistGroupRoles(requestData); Debug.Assert(requestData.Total != null, "requestData.total != null"); return(this.JsonResult(new MiniGrid <GroupAssignRoleTr> { total = requestData.Total.Value, data = data })); }
public static IQueryable <GroupAssignRoleTr> GetPlistGroupRoles(this IAcDomain acDomain, GetPlistGroupRoles requestData) { GroupState group; if (!acDomain.GroupSet.TryGetGroup(requestData.GroupId, out group)) { throw new ValidationException("意外的工作组标识" + requestData.GroupId); } var data = new List <GroupAssignRoleTr>(); foreach (var role in acDomain.RoleSet) { var roleGroup = acDomain.PrivilegeSet.FirstOrDefault(a => a.SubjectType == AcElementType.Role && a.ObjectType == AcElementType.Group && a.SubjectInstanceId == role.Id && a.ObjectInstanceId == group.Id); if (requestData.IsAssigned.HasValue) { if (requestData.IsAssigned.Value) { if (roleGroup == null) { continue; } } else { if (roleGroup != null) { continue; } } } string createBy = null; DateTime?createOn = null; Guid? createUserId = null; Guid id; bool isAssigned; if (roleGroup != null) { createBy = roleGroup.CreateBy; createOn = roleGroup.CreateOn; createUserId = roleGroup.CreateUserId; id = roleGroup.Id; isAssigned = true; } else { id = Guid.NewGuid(); isAssigned = false; } data.Add(new GroupAssignRoleTr { CategoryCode = role.CategoryCode, CreateBy = createBy, CreateOn = createOn, CreateUserId = createUserId, GroupId = group.Id, Id = id, IsAssigned = isAssigned, IsEnabled = role.IsEnabled, Name = role.Name, RoleId = role.Id, SortCode = role.SortCode, Icon = role.Icon }); } int pageIndex = requestData.PageIndex; int pageSize = requestData.PageSize; var queryable = data.AsQueryable(); if (!string.IsNullOrEmpty(requestData.Key)) { queryable = queryable.Where(a => a.Name.Contains(requestData.Key) || a.CategoryCode.Contains(requestData.Key)); } requestData.Total = queryable.Count(); return(queryable.OrderBy(requestData.SortField + " " + requestData.SortOrder).Skip(pageIndex * pageSize).Take(pageSize)); }
public static IQueryable<GroupAssignRoleTr> GetPlistGroupRoles(this IAcDomain acDomain, GetPlistGroupRoles requestData) { GroupState group; if (!acDomain.GroupSet.TryGetGroup(requestData.GroupId, out group)) { throw new ValidationException("意外的工作组标识" + requestData.GroupId); } var data = new List<GroupAssignRoleTr>(); foreach (var role in acDomain.RoleSet) { var roleGroup = acDomain.PrivilegeSet.FirstOrDefault(a => a.SubjectType == AcElementType.Role && a.ObjectType == AcElementType.Group && a.SubjectInstanceId == role.Id && a.ObjectInstanceId == group.Id); if (requestData.IsAssigned.HasValue) { if (requestData.IsAssigned.Value) { if (roleGroup == null) { continue; } } else { if (roleGroup != null) { continue; } } } string createBy = null; DateTime? createOn = null; Guid? createUserId = null; Guid id; bool isAssigned; if (roleGroup != null) { createBy = roleGroup.CreateBy; createOn = roleGroup.CreateOn; createUserId = roleGroup.CreateUserId; id = roleGroup.Id; isAssigned = true; } else { id = Guid.NewGuid(); isAssigned = false; } data.Add(new GroupAssignRoleTr { CategoryCode = role.CategoryCode, CreateBy = createBy, CreateOn = createOn, CreateUserId = createUserId, GroupId = group.Id, Id = id, IsAssigned = isAssigned, IsEnabled = role.IsEnabled, Name = role.Name, RoleId = role.Id, SortCode = role.SortCode, Icon = role.Icon }); } int pageIndex = requestData.PageIndex; int pageSize = requestData.PageSize; var queryable = data.AsQueryable(); if (!string.IsNullOrEmpty(requestData.Key)) { queryable = queryable.Where(a => a.Name.Contains(requestData.Key) || a.CategoryCode.Contains(requestData.Key)); } requestData.Total = queryable.Count(); return queryable.OrderBy(requestData.SortField + " " + requestData.SortOrder).Skip(pageIndex * pageSize).Take(pageSize); }
public ActionResult GetPlistGroupRoles(GetPlistGroupRoles requestData) { if (!ModelState.IsValid) { return ModelState.ToJsonResult(); } var data = AcDomain.GetPlistGroupRoles(requestData); Debug.Assert(requestData.Total != null, "requestData.total != null"); return this.JsonResult(new MiniGrid<GroupAssignRoleTr> { total = requestData.Total.Value, data = data }); }