public async Task <ObservableCollection <PlaylistModelDtoUI> > GetPlaylist(int idDeezer) { try { // request HttpClient httpClient = new HttpClient(); HttpResponseMessage httpResponseMessage = await httpClient.GetAsync("https://api.deezer.com/user/" + idDeezer + "/playlists"); string content = await httpResponseMessage.Content.ReadAsStringAsync(); // deserialise PlaylistsModelDtoFromDeezer playlistsFromDeezer = Deserialize(content); // transform dtofromschrek to entity List <PlaylistEntity> playlistsEnity = new List <PlaylistEntity>(); foreach (PlaylistModelDtoFromDeezer playlist in playlistsFromDeezer.playlists) { PlaylistEntity playlistEntity = new PlaylistEntity(); playlistEntity.Title = playlist.Title; playlistEntity.Duration = playlist.Duration; playlistsEnity.Add(playlistEntity); } // Save Entity ServiceLocator.GetService <Database>().Save(playlistsEnity); return(GetPlaylistFromCache()); } catch (HttpRequestException) { throw new AccessDeezerException(); } }
public async Task <ObservableCollection <PlaylistModelDtoUI> > GetPlaylist(int idDeezer) { try { // request HttpClient httpClient = new HttpClient(); HttpResponseMessage httpResponseMessage = await httpClient.GetAsync("https://api.deezer.com/user/" + idDeezer + "/playlists"); string content = await httpResponseMessage.Content.ReadAsStringAsync(); // deserialise PlaylistsModelDtoFromDeezer playlistsFromDeezer = JsonConvert.DeserializeObject <PlaylistsModelDtoFromDeezer>(content); // Tranform dtofromschrek to dtoui ObservableCollection <PlaylistModelDtoUI> playlists = new ObservableCollection <PlaylistModelDtoUI>(); foreach (PlaylistModelDtoFromDeezer playlist in playlistsFromDeezer.playlists) { PlaylistModelDtoUI playlistModelDtoUI = new PlaylistModelDtoUI(playlist.Title, playlist.Duration); playlists.Add(playlistModelDtoUI); } return(playlists); } catch (HttpRequestException) { throw new AccessDeezerException(); } }
public void Testdese() { PlaylistService playlistService = new PlaylistService(); string content = "{ \"data\":[{\"id\":272040201,\"title\":\"Loved tracks\"}]}"; PlaylistsModelDtoFromDeezer playlistsFromDeezer = playlistService.Deserialize(content); playlistsFromDeezer.playlists.First().Title.ShouldBeEquivalentTo("Loved tracks"); }
public PlaylistViewModel() { Task.Run(async() => { // request HttpClient httpClient = new HttpClient(); HttpResponseMessage httpResponseMessage = await httpClient.GetAsync("https://api.deezer.com/user/100/playlists"); string content = await httpResponseMessage.Content.ReadAsStringAsync(); // deserialise PlaylistsModelDtoFromDeezer playlistsFromDeezer = JsonConvert.DeserializeObject <PlaylistsModelDtoFromDeezer>(content); // Tranform dtofromschrek to dtoui ObservableCollection <PlaylistModelDtoUI> playlists = new ObservableCollection <PlaylistModelDtoUI>(); foreach (PlaylistModelDtoFromDeezer playlist in playlistsFromDeezer.playlists) { PlaylistModelDtoUI playlistModelDtoUI = new PlaylistModelDtoUI(playlist.Title, playlist.Duration); playlists.Add(playlistModelDtoUI); } Playlists = playlists; }); }