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