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();
            }
        }
示例#3
0
        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");
        }
示例#4
0
        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;
            });
        }