private bool RemoveFolder(ApiSubscriptionFolder folder) { if (treeFolders.TryGetValue(folder.Id, out var folderNode)) { folderNode.Parent.Children.Remove(folderNode); treeFolders.Remove(folder.Id); // Deselect if (treeView.SelectedItem != null) { if (treeView.SelectedItem.Data is SubscriptionViewModel subVm && subVm.ParentId == folder.Id) { treeView.SelectedItem = null; } if (treeView.SelectedItem.Data is SubscriptionFolderViewModel folderVm && folderVm.Folder.Id == folder.Id) { treeView.SelectedItem = null; } } return(true); } return(false); }
public async Task Synchronize(ApiSubscriptionFolder folder) { using var scope = serviceProvider.CreateScope(); var backend = scope.ServiceProvider.GetRequiredService <BackendService>(); await backend.SubscriptionFolderSynchronize(new SubscriptionFolderSynchronizeRequest() { Id = folder.Id }); }
public async Task Delete(ApiSubscriptionFolder folder, bool recursive, bool deleteDownloadedFiles) { using var scope = serviceProvider.CreateScope(); var backend = scope.ServiceProvider.GetRequiredService <BackendService>(); await backend.SubscriptionFolderDelete(new SubscriptionFolderDeleteRequest() { Ids = new[] { folder.Id }, Recursive = recursive, DeleteDownloadedFiles = deleteDownloadedFiles }); }
public SubscriptionFolderViewModel(ApiSubscriptionFolder folder) { Folder = folder; }
private void Messaging_SubscriptionFolderUpdated(object sender, ApiSubscriptionFolder folder) { appState.Folders[folder.Id] = folder; }
private void NotifySubscriptionFolderUpdated(ApiSubscriptionFolder folder) { SubscriptionFolderUpdated?.Invoke(this, folder); }
public async Task NotifySubscriptionFolderUpdated(UserAccount userAccount, ApiSubscriptionFolder folder) { await ForUser(userAccount).NotifySubscriptionFolderUpdated(folder); }
public async Task NotifySubscriptionFolderCreated(UserAccount userAccount, ApiSubscriptionFolder newFolder) { await ForUser(userAccount).NotifySubscriptionFolderCreated(newFolder); }