public async Task <object> ListGroup([FromBody] ListCount data) { var result = user.GroupUsers.Select(r => new GroupPreview(r.Group)); if (data.Order == 0) { result = result.OrderBy(r => r.Name); } else if (data.Order == 1) { result = result.OrderByDescending(r => r.Name); } result = result.Skip(data.Start).Take(data.Count); return(result); }
public IEnumerable <ProtocolData> ListProjects([FromBody] ListCount data) { var groups = user.GroupUsers.Select(x => x.Group).ToList(); var protocols = new List <ProtocolData>(); foreach (var group in groups) { protocols.AddRange(group.GroupProtocols.Select(p => new ProtocolData(p.Protocol, p.GroupPrivilege + 1))); } protocols.AddRange(user.ProtocolUsers.Select(x => new ProtocolData(x.Protocol, x.Privilege)).ToList()); var groupbyID = protocols.GroupBy(p => p.Id).ToList(); var result = new List <ProtocolData>(); foreach (var samegroup in groupbyID) { var highestpermission = samegroup.OrderByDescending(x => x.Privilege).Take(1); result.AddRange(highestpermission); } return(result.Skip(data.Start).Take(data.Count)); }