public override Task <Trackmanagement.SharedTrackResponse> GetSharedTracks(Trackmanagement.Empty request, ServerCallContext context) { var lists = Sharing.GetSharedTracks().Where(t => TimeUtility.Expired(t.CreationTime, TrackSharing.LifeSpanMinutes) == false).Select(t => new Trackmanagement.SharedTrackList { Name = t.Name, Type = t.Type, Expires = TimeUtility.TimeToExpire(t.CreationTime, TrackSharing.LifeSpanMinutes) }) .OrderByDescending(t => t.Expires) .ToArray(); return(Task.FromResult(new Trackmanagement.SharedTrackResponse { SharedTracks = { lists } })); }