A Parameter of the Url-string of a REST-service.
コード例 #1
0
ファイル: LastFmService.cs プロジェクト: Slesa/Playground
        public LoadLastFmListDataResult<Track> TopTracks(Tag tag)
        {
            var p1 = new Parameter
            {
                Name = LastFmDataAccess.ParamMethod,
                Value = LastFmDataAccess.MethodTagGetTopTracks
            };
            var p2 = new Parameter
            {
                Name = LastFmDataAccess.ParamTag,
                Value = tag.Name
            };

            return new LoadLastFmListDataResult<Track>(
                SearchStringBuilder(new[] { p1, p2 }),
                "track");

        }
コード例 #2
0
ファイル: LastFmService.cs プロジェクト: Slesa/Playground
        public LoadLastFmListDataResult<Artist> WeeklyArtistChart(Tag tag)
        {
            var p1 = new Parameter
            {
                Name = LastFmDataAccess.ParamMethod,
                Value = LastFmDataAccess.MethodTagGetWeeklyArtistChart
            };
            var p2 = new Parameter
            {
                Name = LastFmDataAccess.ParamTag,
                Value = tag.Name
            };

            return new LoadLastFmListDataResult<Artist>(
                SearchStringBuilder(new[] { p1, p2 }),
                "artist");
        }
コード例 #3
0
ファイル: LastFmService.cs プロジェクト: Slesa/Playground
        public LoadLastFmListDataResult<Track> SimilarTracks(Track track)
        {
            const int limit = 16;
            string s;
            var p1 = new Parameter
            {
                Name = LastFmDataAccess.ParamMethod,
                Value = LastFmDataAccess.MethodTrackGetSimilar
            };

            var p2 = new Parameter
            {
                Name = LastFmDataAccess.ParamAutocorrect,
                Value = true.ToString()
            };
            var p3 = new Parameter
            {
                Name = LastFmDataAccess.ParamLimit,
                Value = limit.ToString()
            };

            if (string.IsNullOrEmpty(track.MusicBrainzId))
            {
                var p4 = new Parameter
                {
                    Name = LastFmDataAccess.ParamArtist,
                    Value = track.ArtistName
                };

                var p5 = new Parameter
                {
                    Name = LastFmDataAccess.ParamTrack,
                    Value = track.Name
                };
                s = SearchStringBuilder(new[] { p1, p2, p3, p4, p5 });
            }
            else
            {
                var p4 = new Parameter
                {
                    Name = LastFmDataAccess.ParamMBID,
                    Value = track.MusicBrainzId
                };
                s = SearchStringBuilder(new[] { p1, p2, p3, p4 });
            }

            return new LoadLastFmListDataResult<Track>(s, "track");
        }
コード例 #4
0
ファイル: LastFmService.cs プロジェクト: Slesa/Playground
 public LoadLastFmXmlDataResult TopTags()
 {
     var p1 = new Parameter
     {
         Name = LastFmDataAccess.ParamMethod,
         Value = LastFmDataAccess.MethodTagGetTopTags
     };
     var p2 = new Parameter
     {
         Name = LastFmDataAccess.ParamLimit,
         Value = 100.ToString()
     };
     return new LoadLastFmXmlDataResult(
         SearchStringBuilder(new[] { p1, p2 }),
         repository,
         LastFmRepository.RepositoryTypes.TopTags);
 }
コード例 #5
0
ファイル: LastFmService.cs プロジェクト: Slesa/Playground
 public LoadLastFmXmlDataResult TrackSearch(string searchString, string artistName = null, int page = 0)
 {
     var p1 = new Parameter
     {
         Name = LastFmDataAccess.ParamMethod,
         Value = LastFmDataAccess.MethodTrackSearch
     };
     var p2 = new Parameter
     {
         Name = LastFmDataAccess.ParamTrack,
         Value = searchString
     };
     var p3 = new Parameter
     {
         Name = LastFmDataAccess.ParamPage,
         Value = page.ToString()
     };
     string s;
     if (string.IsNullOrEmpty(artistName))
     {
         s = SearchStringBuilder(new[] { p1, p2, p3 });
     }
     else
     {
         var p4 = new Parameter
         {
             Name = LastFmDataAccess.ParamArtist,
             Value = artistName
         };
         s = SearchStringBuilder(new[] { p1, p2, p3, p4 });
     }
     return new LoadLastFmXmlDataResult(s, repository, LastFmRepository.RepositoryTypes.Tracks);
 }
コード例 #6
0
ファイル: LastFmService.cs プロジェクト: Slesa/Playground
        public LoadLastFmEntityDataResult<Track> SingleTrack(string trackName, string artistName, string musicBrainzId = null)
        {
            var p1 = new Parameter
            {
                Name = LastFmDataAccess.ParamMethod,
                Value = LastFmDataAccess.MethodTrackGetInfo
            };

            var p2 = new Parameter
            {
                Name = LastFmDataAccess.ParamAutocorrect,
                Value = true.ToString()
            };
            Parameter p3;
            string s;
            if (string.IsNullOrEmpty(musicBrainzId))
            {
                p3 = new Parameter
                {
                    Name = LastFmDataAccess.ParamTrack,
                    Value = trackName
                };
                var p4 = new Parameter
                {
                    Name = LastFmDataAccess.ParamArtist,
                    Value = artistName
                };
                s = SearchStringBuilder(new[] { p1, p2, p3, p4 });
            }
            else
            {
                p3 = new Parameter
                {
                    Name = LastFmDataAccess.ParamMBID,
                    Value = musicBrainzId
                };
                s = SearchStringBuilder(new[] { p1, p2, p3 });
            }

            return new LoadLastFmEntityDataResult<Track>(s, "track");
        }
コード例 #7
0
ファイル: LastFmService.cs プロジェクト: Slesa/Playground
 public LoadLastFmXmlDataResult AlbumSearch(string searchString, int page = 0)
 {
     var p1 = new Parameter
     {
         Name = LastFmDataAccess.ParamMethod,
         Value = LastFmDataAccess.MethodAlbumSearch
     };
     var p2 = new Parameter
     {
         Name = LastFmDataAccess.ParamAlbum,
         Value = searchString
     };
     var p3 = new Parameter
     {
         Name = LastFmDataAccess.ParamPage,
         Value = page.ToString()
     };
     return new LoadLastFmXmlDataResult(
         SearchStringBuilder(new[] { p1, p2, p3 }),
         repository,
         LastFmRepository.RepositoryTypes.Albums
         );
 }
コード例 #8
0
ファイル: LastFmService.cs プロジェクト: Slesa/Playground
        public LoadLastFmListDataResult<ArtistBase> SimilarArtists(Artist artist)
        {
            const int limit = 16;
            var p1 = new Parameter
            {
                Name = LastFmDataAccess.ParamMethod,
                Value = LastFmDataAccess.MethodArtistGetSimilar
            };
            Parameter p2;
            if (string.IsNullOrEmpty(artist.MusicBrainzId))
            {
                p2 = new Parameter
                {
                    Name = LastFmDataAccess.ParamArtist,
                    Value = artist.Name
                };
            }
            else
            {
                p2 = new Parameter
                {
                    Name = LastFmDataAccess.ParamMBID,
                    Value = artist.MusicBrainzId
                };
            }
            var p3 = new Parameter
            {
                Name = LastFmDataAccess.ParamAutocorrect,
                Value = true.ToString()
            };
            var p4 = new Parameter
            {
                Name = LastFmDataAccess.ParamLimit,
                Value = limit.ToString()
            };

            return new LoadLastFmListDataResult<ArtistBase>(
                SearchStringBuilder(new[] { p1, p2, p3, p4 }),
                "artist");
        }
コード例 #9
0
ファイル: LastFmService.cs プロジェクト: Slesa/Playground
        public LoadLastFmListDataResult<Event> NextEvents(Artist artist)
        {
            var p1 = new Parameter
            {
                Name = LastFmDataAccess.ParamMethod,
                Value = LastFmDataAccess.MethodArtistGetEvents
            };
            Parameter p2;
            if (string.IsNullOrEmpty(artist.MusicBrainzId))
            {
                p2 = new Parameter
                {
                    Name = LastFmDataAccess.ParamArtist,
                    Value = artist.Name
                };
            }
            else
            {
                p2 = new Parameter
                {
                    Name = LastFmDataAccess.ParamMBID,
                    Value = artist.MusicBrainzId
                };
            }
            var p3 = new Parameter
            {
                Name = LastFmDataAccess.ParamAutocorrect,
                Value = true.ToString()
            };

            return new LoadLastFmListDataResult<Event>(
                SearchStringBuilder(new[] { p1, p2, p3 }),
                "event");
        }
コード例 #10
0
ファイル: LastFmService.cs プロジェクト: Slesa/Playground
        public LoadLastFmEntityDataResult<Biography> MoreInfo(Artist artist)
        {
            var p1 = new Parameter
            {
                Name = LastFmDataAccess.ParamMethod,
                Value = LastFmDataAccess.MethodArtistGetInfo
            };
            Parameter p2;
            if (string.IsNullOrEmpty(artist.MusicBrainzId))
            {
                p2 = new Parameter
                {
                    Name = LastFmDataAccess.ParamArtist,
                    Value = artist.Name
                };
            }
            else
            {
                p2 = new Parameter
                {
                    Name = LastFmDataAccess.ParamMBID,
                    Value = artist.MusicBrainzId
                };
            }
            var p3 = new Parameter
            {
                Name = LastFmDataAccess.ParamAutocorrect,
                Value = true.ToString()
            };

            return new LoadLastFmEntityDataResult<Biography>(
                SearchStringBuilder(new[] {p1, p2, p3}),
                "bio");
        }
コード例 #11
0
ファイル: LastFmService.cs プロジェクト: Slesa/Playground
        public LoadLastFmEntityDataResult<Artist> SingleArtist(string artistId, bool isMusicBrainzId)
        {
            var p1 = new Parameter
            {
                Name = LastFmDataAccess.ParamMethod,
                Value = LastFmDataAccess.MethodArtistGetInfo
            };
            Parameter p2;
            if (isMusicBrainzId)
            {
                p2 = new Parameter
                {
                    Name = LastFmDataAccess.ParamMBID,
                    Value = artistId
                };
            }
            else
            {
                p2 = new Parameter
                {
                    Name = LastFmDataAccess.ParamArtist,
                    Value = artistId
                };
            }
            var p3 = new Parameter
            {
                Name = LastFmDataAccess.ParamAutocorrect,
                Value = true.ToString()
            };

            return new LoadLastFmEntityDataResult<Artist>(
                SearchStringBuilder(new[]{p1, p2, p3}),
                "artist");
        }