public PlaylistsManagePageViewModel(Func <IDataSource> getGeDataSource, IConnectionListener connectionListener, IPlaylistsChangeHandler playlistsChangeHandler)
 {
     _getGeDataSource        = getGeDataSource;
     _playlistsChangeHandler = playlistsChangeHandler;
     _playlistListViewModel  = new MyPlaylistListViewModel(_getGeDataSource, connectionListener, new DeleteContextMenuStrategy(), playlistsChangeHandler);
     _playlistListViewModel.FirstLoad();
     _createCommand = new RelayCommand(CreatePlaylist, CanCreateNewPlaylist);
     _accessItems   = new List <AccessItem>()
     {
         new AccessItem(PrivacyStatus.Public), new AccessItem(PrivacyStatus.Private)
     };
     _selectedAccess = _accessItems.First();
 }
        private async void CreatePlaylist()
        {
            var newPlaylist = await _getGeDataSource().AddNewPlaylist(PlaylistTitle, PlaylistDescription, _selectedAccess.Status);

            if (newPlaylist != null)
            {
                PlaylistListViewModel.Items.Insert(0, new PlaylistNodeViewModel(newPlaylist, _getGeDataSource(), new DeleteContextMenuStrategy(), PlaylistListViewModel.Delete, false));
                _playlistsChangeHandler.UpdatePlaylists();
            }
            //Clear data
            PlaylistTitle       = string.Empty;
            PlaylistDescription = string.Empty;
            SelectedAccess      = AccessItems.First();
        }