private APIResponse GetSearch(APIRequest request) { string keyword = request.Params["keyword"]; Dictionary <string, object> responseData = new Dictionary <string, object>(); string[] listOptions = APIUtils.SplitCSVList(request.Params["list"]); //run searches if (listOptions.Contains("songs")) { responseData.Add("songs", MediaDatabase.FindSongsByName(keyword)); } if (listOptions.Contains("albums")) { responseData.Add("albums", MediaDatabase.FindAlbumsByName(keyword)); } if (listOptions.Contains("artists")) { responseData.Add("artists", MediaDatabase.FindArtistsByName(keyword)); } if (listOptions.Contains("folders")) { responseData.Add("folders", MediaDatabase.FindFoldersByName(keyword)); } if (listOptions.Contains("playlists")) { responseData.Add("playlists", MediaDatabase.FindPlaylistsByName(keyword)); } return(new APIResponse(JsonConvert.SerializeObject(new { data = responseData }))); }
private APIResponse GetArtist(APIRequest request) { var artist = MediaDatabase.GetArtist(request.Segment); Dictionary <string, object> responseData = null; if (artist.HasValue) { responseData = new Dictionary <string, object>(); responseData.Add("artist", artist.Value); //handle list song and list album options if (request.Params.ContainsKey("list")) { var listOptions = APIUtils.SplitCSVList(request.Params["list"]); if (listOptions.Contains("songs")) { responseData.Add("songs", MediaDatabase.GetArtistSongs(request.Segment)); } if (listOptions.Contains("albums")) { responseData.Add("albums", MediaDatabase.GetArtistAlbums(request.Segment)); } } } return(new APIResponse(JsonConvert.SerializeObject(new { data = responseData }))); }
private APIResponse GetSearch2(APIRequest request) { request.Params.TryGetValue("song", out string song); request.Params.TryGetValue("album", out string album); request.Params.TryGetValue("artist", out string artist); if (string.IsNullOrEmpty(song) && string.IsNullOrEmpty(album) && string.IsNullOrEmpty(artist)) { throw new ParameterMissingException(); } if (!request.Params.ContainsKey("list")) { throw new ParameterMissingException("list"); } Dictionary <string, object> responseData = new Dictionary <string, object>(); string[] listOptions = APIUtils.SplitCSVList(request.Params["list"]); //run searches if (listOptions.Contains("songs")) { responseData.Add("songs", MediaDatabase.FindSongsByParameters(song, album, artist)); } if (listOptions.Contains("albums")) { responseData.Add("albums", MediaDatabase.FindAlbumsByParameters(song, album, artist)); } if (listOptions.Contains("artists")) { responseData.Add("artists", MediaDatabase.FindArtistsByParameters(song, album, artist)); } return(new APIResponse(JsonConvert.SerializeObject(new { data = responseData }))); }