/// <summary> /// search by track title /// </summary> /// <param name="search"></param> /// <returns></returns> public async Task <IActionResult> OnPostSearchByTrackTitleAsync(string search) { using (HttpClient client = new HttpClient()) { var response = await client.GetAsync($"https://newapi.beeptunes.com/public/search?albumCount=0&artistCount=0&text={search}&trackCount=100"); List <TrackQueryResult> tracks = new List <TrackQueryResult>(); if (response.StatusCode == HttpStatusCode.OK) { BpSearchResponseModel bpResponse = JsonConvert.DeserializeObject <BpSearchResponseModel>(await response.Content.ReadAsStringAsync()); foreach (var track in bpResponse.Tracks) { if (track.FirstArtists != null && track.FirstArtists.Length > 0) { string albumName = ""; var responseAlbum = await client.GetAsync($"https://newapi.beeptunes.com/public/album/info/?albumId={track.Album_Id}"); if (responseAlbum.StatusCode == HttpStatusCode.OK) { NameIdUrlImage nameIdUrl = JsonConvert.DeserializeObject <NameIdUrlImage>(await responseAlbum.Content.ReadAsStringAsync()); albumName = nameIdUrl.Name; } tracks.Add ( new TrackQueryResult() { Id = track.Id, Name = track.Name, Url = track.Url, AlbumId = track.Album_Id, AlbumName = albumName, AlbunUrl = $"https://beeptunes.com/album/{track.Album_Id}", ArtistId = track.FirstArtists[0].Id, ArtistName = track.FirstArtists[0].ArtisticName, ArtistUrl = track.FirstArtists[0].Url, Image = track.PrimaryImage } ); } } } return(new PartialViewResult() { ViewName = "_SpotifySearchPartial", ViewData = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary()) { Model = new _SpotifySearchPartialModel() { Tracks = tracks.ToArray() } } }); } }
/// <summary> /// search by artists name /// </summary> /// <param name="search"></param> /// <returns></returns> public async Task <IActionResult> OnPostSearchByArtistNameAsync(string search) { using (HttpClient client = new HttpClient()) { var response = await client.GetAsync($"https://newapi.beeptunes.com/public/search?albumCount=0&artistCount=100&text={search}&trackCount=0"); List <NameIdUrlImage> artists = new List <NameIdUrlImage>(); if (response.StatusCode == HttpStatusCode.OK) { BpSearchResponseModel bpResponse = JsonConvert.DeserializeObject <BpSearchResponseModel>(await response.Content.ReadAsStringAsync()); foreach (var artist in bpResponse.Artists) { artists.Add ( new NameIdUrlImage() { Id = artist.Id, Name = artist.ArtisticName, Url = artist.Url, Image = artist.Picture } ); } } return(new PartialViewResult() { ViewName = "_SpotifySearchPartial", ViewData = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary()) { Model = new _SpotifySearchPartialModel() { Artists = artists.ToArray() } } }); } }