コード例 #1
0
        public async Task <List <ArtistModel> > GetArtistsAsync(ArtistsPageFilter filter)
        {
            var channel = new Channel(channelTarget, ChannelCredentials.Insecure);

            try
            {
                var client  = new ArtistsGrpcService.ArtistsGrpcServiceClient(channel);
                var request = new GetArtistsRequest()
                {
                    LibraryId  = filter.LibraryId.ToString(),
                    PageIndex  = filter.PageIndex,
                    PageSize   = filter.PageSize,
                    SearchText = filter.SearchText
                };

                var response = await client.GetArtistsAsync(request);

                var artists = response.Artists.Select(s => ArtistGrpcConverter.ToModel(s)).ToList();
                return(artists);
            }
            finally
            {
                await channel.ShutdownAsync();
            }
        }
コード例 #2
0
        public override Task <GetArtistsResponse> GetArtists(GetArtistsRequest request, ServerCallContext context)
        {
            var artists = _artistsService.GetArtists(new ArtistsPageFilter()
            {
                LibraryId  = Guid.Parse(request.LibraryId),
                PageIndex  = request.PageIndex,
                PageSize   = request.PageSize,
                SearchText = request.SearchText
            });

            var response = new GetArtistsResponse();

            response.Artists.AddRange(artists.Select(a => ArtistGrpcConverter.ToMessage(a)));


            //var popRanks = _libraryService.GetPopularityRankings().Select(s => new PopularityRankingMessage() { Id = s.Id.ToString(), Name = s.Name });

            return(Task.FromResult(response));
        }