protected virtual async Task Refresh(Playlist playlist, string expression, bool force) { var libraryHierarchy = this.LibraryManager.SelectedHierarchy; if (libraryHierarchy == null || LibraryHierarchy.Empty.Equals(libraryHierarchy)) { return; } var libraryHierarchyNodes = this.LibraryHierarchyBrowser.GetNodes(libraryHierarchy, expression); if (!libraryHierarchyNodes.Any()) { Logger.Write(this, LogLevel.Debug, "Library search returned no results: {0}", expression); using (var task = new ClearPlaylistTask(playlist)) { task.InitializeComponent(this.Core); await task.Run().ConfigureAwait(false); } } else { using (var task = new AddLibraryHierarchyNodesToPlaylistTask(playlist, 0, libraryHierarchyNodes, expression, true, false)) { task.InitializeComponent(this.Core); await task.Run().ConfigureAwait(false); } } }
public async Task Insert(Playlist playlist, int index, IEnumerable <LibraryHierarchyNode> libraryHierarchyNodes, bool clear) { Logger.Write(this, LogLevel.Debug, "Inserting library nodes into playlist at index: {0}", index); using (var task = new AddLibraryHierarchyNodesToPlaylistTask(playlist, index, libraryHierarchyNodes, this.LibraryHierarchyBrowser.Filter, clear)) { task.InitializeComponent(this.Core); await this.OnBackgroundTask(task).ConfigureAwait(false); await task.Run().ConfigureAwait(false); } }
public override async Task Refresh(Playlist playlist) { var libraryHierarchy = this.LibraryManager.SelectedHierarchy; if (libraryHierarchy == null || LibraryHierarchy.Empty.Equals(libraryHierarchy)) { return; } var libraryHierarchyNodes = this.LibraryHierarchyBrowser.GetNodes(libraryHierarchy, playlist.Filter); using (var task = new AddLibraryHierarchyNodesToPlaylistTask(playlist, 0, libraryHierarchyNodes, playlist.Filter, true, false)) { task.InitializeComponent(this.Core); await task.Run().ConfigureAwait(false); } }