Beispiel #1
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            Assert.ObjectOfType <UserOverviewViewModelParams>(e.Parameter);
            this.ViewModel   = ServiceRegistry.ViewModelFactory.CreateUserOverviewViewModel((UserOverviewViewModelParams)e.Parameter);
            this.DataContext = this.ViewModel;

            this.userFlowViewModel = new ContentUserControlViewModel <ITrackViewModel>(this.ViewModel,
                                                                                       nameof(IUserOverviewViewModel.Flow),
                                                                                       nameof(IUserOverviewViewModel.FlowFetchState),
                                                                                       () => this.ViewModel.Flow,
                                                                                       () => this.ViewModel.FlowFetchState,
                                                                                       _ => { },
                                                                                       ServiceRegistry.PlatformServices);

            this.userPlaylistsViewModel = new ContentUserControlViewModel <IPlaylistViewModel>(this.ViewModel,
                                                                                               nameof(IUserOverviewViewModel.Playlists),
                                                                                               nameof(IUserOverviewViewModel.PlaylistFetchState),
                                                                                               () => this.ViewModel.Playlists,
                                                                                               () => this.ViewModel.PlaylistFetchState,
                                                                                               OnPlaylistSelected,
                                                                                               ServiceRegistry.PlatformServices);

            this.FlowList.DataContext     = this.userFlowViewModel;
            this.PlaylistGrid.DataContext = this.userPlaylistsViewModel;
        }
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            this.ViewModel   = ServiceRegistry.ViewModelFactory.CreateWhatsNewViewModel();
            this.DataContext = this.ViewModel;

            this.newAlbumsViewModel = new ContentUserControlViewModel <IAlbumViewModel>(this.ViewModel,
                                                                                        nameof(IWhatsNewViewModel.NewReleases),
                                                                                        nameof(IWhatsNewViewModel.NewReleaseFetchState),
                                                                                        () => this.ViewModel.NewReleases,
                                                                                        () => this.ViewModel.NewReleaseFetchState,
                                                                                        OnNewReleaseSelected,
                                                                                        ServiceRegistry.PlatformServices);

            this.deezerPicksViewModel = new ContentUserControlViewModel <IAlbumViewModel>(this.ViewModel,
                                                                                          nameof(IWhatsNewViewModel.DeezerPicks),
                                                                                          nameof(IWhatsNewViewModel.DeezerPicksFetchState),
                                                                                          () => this.ViewModel.DeezerPicks,
                                                                                          () => this.ViewModel.DeezerPicksFetchState,
                                                                                          OnDeezerPickSelected,
                                                                                          ServiceRegistry.PlatformServices);

            this.NewAlbumGrid.DataContext    = this.newAlbumsViewModel;
            this.DeezerPicksGrid.DataContext = this.deezerPicksViewModel;
        }
Beispiel #3
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);


            Assert.ObjectOfType <ArtistOverviewViewModelParams>(e.Parameter);
            this.ViewModel   = ServiceRegistry.ViewModelFactory.CreateArtistOverviewViewModel((ArtistOverviewViewModelParams)e.Parameter);
            this.DataContext = ViewModel;

            this.albumsViewModel = new ContentUserControlViewModel <IAlbumViewModel>(this.ViewModel,
                                                                                     nameof(IArtistOverviewViewModel.Albums),
                                                                                     nameof(IArtistOverviewViewModel.AlbumFetchState),
                                                                                     () => this.ViewModel.Albums,
                                                                                     () => this.ViewModel.AlbumFetchState,
                                                                                     OnAlbumSelected,
                                                                                     ServiceRegistry.PlatformServices);

            this.topTrackViewModel = new ContentUserControlViewModel <ITrackViewModel>(this.ViewModel,
                                                                                       nameof(IArtistOverviewViewModel.TopTracks),
                                                                                       nameof(IArtistOverviewViewModel.TopTrackFetchState),
                                                                                       () => this.ViewModel.TopTracks,
                                                                                       () => this.ViewModel.TopTrackFetchState,
                                                                                       _ => { },
                                                                                       ServiceRegistry.PlatformServices);

            this.featuredOnViewModel = new ContentUserControlViewModel <IPlaylistViewModel>(this.ViewModel,
                                                                                            nameof(IArtistOverviewViewModel.FeaturedPlaylists),
                                                                                            nameof(IArtistOverviewViewModel.FeaturedPlaylistFetchState),
                                                                                            () => this.ViewModel.FeaturedPlaylists,
                                                                                            () => this.ViewModel.FeaturedPlaylistFetchState,
                                                                                            OnPlaylistSelected,
                                                                                            ServiceRegistry.PlatformServices);

            this.relatedArtistViewModel = new ContentUserControlViewModel <IArtistViewModel>(this.ViewModel,
                                                                                             nameof(IArtistOverviewViewModel.RelatedArtists),
                                                                                             nameof(IArtistOverviewViewModel.RelatedArtistFetchState),
                                                                                             () => this.ViewModel.RelatedArtists,
                                                                                             () => this.ViewModel.RelatedArtistFetchState,
                                                                                             OnArtistSelected,
                                                                                             ServiceRegistry.PlatformServices);

            this.AlbumGrid.DataContext    = this.albumsViewModel;
            this.TopTrackList.DataContext = this.topTrackViewModel;
            this.ArtistGrid.DataContext   = this.relatedArtistViewModel;
            this.PlaylistGrid.DataContext = this.featuredOnViewModel;
        }
Beispiel #4
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            this.ViewModel   = e.Parameter as ISearchViewModel;
            this.DataContext = this.ViewModel;

            this.albumResultViewModel = new ContentUserControlViewModel <IAlbumViewModel>(this.ViewModel,
                                                                                          nameof(ISearchViewModel.Albums),
                                                                                          nameof(ISearchViewModel.AlbumResultFetchState),
                                                                                          () => this.ViewModel.Albums,
                                                                                          () => this.ViewModel.AlbumResultFetchState,
                                                                                          OnAlbumSelected,
                                                                                          ServiceRegistry.PlatformServices);

            this.trackResultViewModel = new ContentUserControlViewModel <ITrackViewModel>(this.ViewModel,
                                                                                          nameof(ISearchViewModel.Tracks),
                                                                                          nameof(ISearchViewModel.TrackResultFetchState),
                                                                                          () => this.ViewModel.Tracks,
                                                                                          () => this.ViewModel.TrackResultFetchState,
                                                                                          _ => { },
                                                                                          ServiceRegistry.PlatformServices);

            this.artistResultViewModel = new ContentUserControlViewModel <IArtistViewModel>(this.ViewModel,
                                                                                            nameof(ISearchViewModel.Artists),
                                                                                            nameof(ISearchViewModel.ArtistResultFetchState),
                                                                                            () => this.ViewModel.Artists,
                                                                                            () => this.ViewModel.ArtistResultFetchState,
                                                                                            OnArtistSelected,
                                                                                            ServiceRegistry.PlatformServices);

            this.playlistResultViewModel = new ContentUserControlViewModel <IPlaylistViewModel>(this.ViewModel,
                                                                                                nameof(ISearchViewModel.Playlists),
                                                                                                nameof(ISearchViewModel.PlaylistResultFetchState),
                                                                                                () => this.ViewModel.Playlists,
                                                                                                () => this.ViewModel.PlaylistResultFetchState,
                                                                                                OnPlaylistSelected,
                                                                                                ServiceRegistry.PlatformServices);


            this.AlbumGrid.DataContext    = this.albumResultViewModel;
            this.TrackList.DataContext    = this.trackResultViewModel;
            this.ArtistGrid.DataContext   = this.artistResultViewModel;
            this.PlaylistGrid.DataContext = this.playlistResultViewModel;
        }
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            this.ViewModel   = ServiceRegistry.ViewModelFactory.CreateChartsViewModel();
            this.DataContext = this.ViewModel;

            this.trackChartViewModel = new ContentUserControlViewModel <ITrackViewModel>(this.ViewModel,
                                                                                         nameof(IChartsViewModel.TrackChart),
                                                                                         nameof(IChartsViewModel.TrackChartFetchState),
                                                                                         () => this.ViewModel.TrackChart,
                                                                                         () => this.ViewModel.TrackChartFetchState,
                                                                                         _ => { },
                                                                                         ServiceRegistry.PlatformServices);

            this.albumChartViewModel = new ContentUserControlViewModel <IAlbumViewModel>(this.ViewModel,
                                                                                         nameof(IChartsViewModel.AlbumChart),
                                                                                         nameof(IChartsViewModel.AlbumChartFetchState),
                                                                                         () => this.ViewModel.AlbumChart,
                                                                                         () => this.ViewModel.AlbumChartFetchState,
                                                                                         OnAlbumSelected,
                                                                                         ServiceRegistry.PlatformServices);

            this.artistChartViewModel = new ContentUserControlViewModel <IArtistViewModel>(this.ViewModel,
                                                                                           nameof(IChartsViewModel.ArtistChart),
                                                                                           nameof(IChartsViewModel.ArtistChartFetchState),
                                                                                           () => this.ViewModel.ArtistChart,
                                                                                           () => this.ViewModel.ArtistChartFetchState,
                                                                                           OnArtistSelected,
                                                                                           ServiceRegistry.PlatformServices);

            this.playlistChartViewModel = new ContentUserControlViewModel <IPlaylistViewModel>(this.ViewModel,
                                                                                               nameof(IChartsViewModel.PlaylistChart),
                                                                                               nameof(IChartsViewModel.PlaylistChartFetchState),
                                                                                               () => this.ViewModel.PlaylistChart,
                                                                                               () => this.ViewModel.PlaylistChartFetchState,
                                                                                               OnPlaylistSelected,
                                                                                               ServiceRegistry.PlatformServices);


            this.TrackList.DataContext    = this.trackChartViewModel;
            this.AlbumGrid.DataContext    = this.albumChartViewModel;
            this.ArtistGrid.DataContext   = this.artistChartViewModel;
            this.PlaylistGrid.DataContext = this.playlistChartViewModel;
        }
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            var vm = ServiceRegistry.ViewModelFactory.CreateMyDeezerViewModel();

            this.ViewModel   = vm;
            this.DataContext = vm;

            this.favouriteTracksViewModel = new ContentUserControlViewModel <ITrackViewModel>(this.ViewModel,
                                                                                              nameof(IMyDeezerViewModel.FavouriteTracks),
                                                                                              nameof(IMyDeezerViewModel.TrackFetchState),
                                                                                              () => this.ViewModel.FavouriteTracks,
                                                                                              () => this.ViewModel.TrackFetchState,
                                                                                              _ => { },
                                                                                              ServiceRegistry.PlatformServices);

            this.favouriteAlbumsViewModel = new ContentUserControlViewModel <IAlbumViewModel>(this.ViewModel,
                                                                                              nameof(IMyDeezerViewModel.FavouriteAlbums),
                                                                                              nameof(IMyDeezerViewModel.AlbumFetchState),
                                                                                              () => this.ViewModel.FavouriteAlbums,
                                                                                              () => this.ViewModel.AlbumFetchState,
                                                                                              OnAlbumSelected,
                                                                                              ServiceRegistry.PlatformServices);

            this.favouriteArtistsViewModel = new ContentUserControlViewModel <IArtistViewModel>(this.ViewModel,
                                                                                                nameof(IMyDeezerViewModel.FavouriteArtists),
                                                                                                nameof(IMyDeezerViewModel.ArtistFetchState),
                                                                                                () => this.ViewModel.FavouriteArtists,
                                                                                                () => this.ViewModel.ArtistFetchState,
                                                                                                OnArtistSelected,
                                                                                                ServiceRegistry.PlatformServices);

            this.FavouriteTrackList.DataContext  = this.favouriteTracksViewModel;
            this.FavouriteAlbumGrid.DataContext  = this.favouriteAlbumsViewModel;
            this.FavouriteArtistGrid.DataContext = this.favouriteArtistsViewModel;


            this.LoginButton.Click  += OnLoginButtonClicked;
            this.LogoutButton.Click += OnLogoutButtonClicked;
        }