/// <summary>Constructor</summary> /// <param name="client">Spotify Sdk Client</param> /// <param name="albumId">Spotify Album Id</param> public AlbumPageViewModel(ISpotifySdkClient client, string albumId) : base(client, albumId) { // Tracks Tracks = new ListTrackViewModel(client, TrackType.Album, albumId); // Commands client.CommandActions.Track = (item) => NavigatePage(item); }
public async Task ListTrackViewModel_UserTop_Test() { // Arrange var model = new ListTrackViewModel(_client, TrackType.UserTop); // Act await((ISupportIncrementalLoading)model.Collection).LoadMoreItemsAsync(count); // Assert Assert.IsTrue(model.Collection.Count > 0); }
public async Task ListTrackViewModel_Search_Test(string search) { // Arrange var model = new ListTrackViewModel(_client, TrackType.Search, value: search); // Act await((ISupportIncrementalLoading)model.Collection).LoadMoreItemsAsync(count); // Assert Assert.IsTrue(model.Collection.Any(a => a.Name == search)); }
/// <summary>Constructor</summary> /// <param name="client">Spotify Sdk Client</param> public TracksPageViewModel(ISpotifySdkClient client) : base(client) { Saved = new ListTrackViewModel(client, TrackType.UserSaved); Top = new ListTrackViewModel(client, TrackType.UserTop); Recent = new ListTrackViewModel(client, TrackType.UserRecentlyPlayed); // Command Actions client.CommandActions.Album = (item) => NavigatePage(item); client.CommandActions.Artist = (item) => NavigatePage(item); client.CommandActions.Track = (item) => NavigatePage(item); }
public async Task ListTrackViewModel_Multiple_Test(string id) { // Arrange var ids = new List <string> { id }; var model = new ListTrackViewModel(_client, TrackType.Multiple, multipleTrackIds: ids); // Act await((ISupportIncrementalLoading)model.Collection).LoadMoreItemsAsync(count); // Assert Assert.IsTrue(model.Collection.Any(a => a.Id == id)); }
public async Task ListTrackViewModel_Favourite_Test(string id) { // Arrange _client.Favourites.TrackIds = new List <string> { id }; var model = new ListTrackViewModel(_client, TrackType.Favourite); // Act var result = await((ISupportIncrementalLoading)model.Collection).LoadMoreItemsAsync(count); // Assert Assert.IsTrue(model.Collection.Any(a => a.Id == id)); }
public async Task ListTrackViewModel_Recommended_Test(string genre) { // Arrange var model = new ListTrackViewModel(_client, TrackType.Recommended, recommendation: new RecommendationRequest() { SeedGenre = genre }); // Act await((ISupportIncrementalLoading)model.Collection).LoadMoreItemsAsync(count); // Assert Assert.IsTrue(model.Collection.Count > 0); }
/// <summary>Constructor</summary> /// <param name="client">Spotify Sdk Client</param> /// <param name="artistId">Spotify Artist Id</param> public ArtistPageViewModel( ISpotifySdkClient client, string artistId) : base(client, artistId) { // Albums Albums = new ListAlbumViewModel(client, AlbumType.Artist, artistId); // Tracks Tracks = new ListTrackViewModel(client, TrackType.Artist, artistId); // Artists Artists = new ListArtistViewModel(client, ArtistType.Related, artistId); // Command Actions client.CommandActions.Album = (item) => NavigatePage(item); client.CommandActions.Track = (item) => NavigatePage(item); client.CommandActions.Artist = (item) => NavigatePage(item, true); }
/// <summary>Constructor</summary> /// <param name="client">Spotify Sdk Client</param> /// <param name="genre">Genre</param> public RecommendationPageViewModel(ISpotifySdkClient client, string genre) : base(client) { Item = genre; Recommended = new ListTrackViewModel(client, TrackType.Recommended, recommendation: new RecommendationRequest() { SeedGenre = genre, TargetTotal = max_recommendations }); // Command Actions client.CommandActions.Album = (item) => NavigatePage(item); client.CommandActions.Artist = (item) => NavigatePage(item); client.CommandActions.Track = (item) => NavigatePage(item); }
/// <summary>Constructor</summary> /// <param name="client">Spotify Sdk Client</param> public FavouritesPageViewModel(ISpotifySdkClient client) : base(client) { // Albums Albums = new ListAlbumViewModel(client, AlbumType.Favourite); // Tracks Tracks = new ListTrackViewModel(client, TrackType.Favourite); // Artists Artists = new ListArtistViewModel(client, ArtistType.Favourite); // Shows Shows = new ListShowViewModel(client, ShowType.Favourite); // Episodes Episodes = new ListEpisodeViewModel(client, EpisodeType.Favourite); // Command Actions client.CommandActions.Album = (item) => NavigatePage(item); client.CommandActions.Artist = (item) => NavigatePage(item); client.CommandActions.Playlist = (item) => NavigatePage(item); client.CommandActions.Show = (item) => NavigatePage(item); client.CommandActions.Episode = (item) => NavigatePage(item); }
/// <summary>Constructor</summary> /// <param name="client">Spotify Sdk Client</param> /// <param name="value">Search Term</param> public SearchPageViewModel(ISpotifySdkClient client, string value) : base(client) { // Albums Albums = new ListAlbumViewModel(client, AlbumType.Search, value); // Tracks Tracks = new ListTrackViewModel(client, TrackType.Search, value); // Artists Artists = new ListArtistViewModel(client, ArtistType.Search, value); // Playlists Playlists = new ListPlaylistViewModel(client, PlaylistType.Search, value); // Shows Shows = new ListShowViewModel(client, ShowType.Search, value); // Episodes Episodes = new ListEpisodeViewModel(client, EpisodeType.Search, value); // Command Actions client.CommandActions.Album = (item) => NavigatePage(item); client.CommandActions.Artist = (item) => NavigatePage(item); client.CommandActions.Track = (item) => NavigatePage(item); client.CommandActions.Playlist = (item) => NavigatePage(item); client.CommandActions.Show = (item) => NavigatePage(item); client.CommandActions.Episode = (item) => NavigatePage(item); }