Пример #1
0
        /// <summary>
        /// Displays the login window and will initialize the application with
        /// login credentials.
        /// </summary>
        private void Login()
        {
            if (ShowLoginWindow() == false)
            {
                return;
            }

            this.PlaylistView.Initialize();
            this.NavigationControl.Initialize();
            PlaylistService.Initialize(this.PlaylistView.ViewModel);

            _userCache = UserCache.Load(SpotifyClientService.User.Id);

            GetNewsFeed(_userCache);

            //TODO:  Support other music services.  This should be broken out into a separate UI action.
            LoginViewModel loginViewModel = (LoginViewModel)this.LoginControl.DataContext;

            loginViewModel.AccountName  = SpotifyClientService.User.DisplayName;
            loginViewModel.MusicService = MusicService.Spotify;

            MainWindowViewModel mainWindowViewModel = (MainWindowViewModel)this.DataContext;

            mainWindowViewModel.IsLoggedIn = true;
        }
Пример #2
0
        /// <summary>
        /// Create a graph node and add it to the view-model.
        /// </summary>
        public NetworkNodeViewModel CreateArtistGraphNode(IHierarchyNode hierarchyNode, Point nodeLocation)
        {
            Debug.Assert(hierarchyNode is ArtistHierarchyNode);

            ArtistViewModel            viewModel = ((ArtistHierarchyNode)hierarchyNode).ArtistViewModel;
            ArtistNetworkNodeViewModel node      = new ArtistNetworkNodeViewModel(viewModel, _hierarchy, ((ArtistHierarchyNode)hierarchyNode), PlaylistService.GetCurrentPlaylist());

            // Initialize any style modifiers.
            node.X = nodeLocation.X;
            node.Y = nodeLocation.Y;
            node.InputConnectors.Add(new ConnectorViewModel("", ConnectorType.Input));
            node.OutputConnectors.Add(new ConnectorViewModel("", ConnectorType.Output));

            hierarchyNode.GraphNodeViewModel = node;

            // Add the node to the view-model.
            //
            this.Network.Nodes.Add(node);

            return(node);
        }