private void TaskCompleted(SharpEncryptTaskModel task) { ActiveTasks.Remove(task); ActiveTasksGridView.Refresh(); if (!ActiveTasks.Any()) { AllTasksCompleted?.Invoke(); } }
private void OnTaskCompleted(SharpEncryptTaskModel task) { TaskCompleted?.Invoke(task); if (!DisableAfterTaskCompleted) { return; } Disabled = true; BackgroundWorkerDisabled?.Invoke(Identifier); }
internal void AddTask(SharpEncryptTaskModel task) { if (Disabled) { Exception?.Invoke(new BackgroundTaskHandlerDisabledException()); return; } if (task == null) { Exception?.Invoke(new ArgumentNullException(nameof(task))); return; } Tasks.Enqueue(task); if (!BackgroundWorker.IsBusy) { BackgroundWorker.RunWorkerAsync(); } }
private void OnTaskDequeued(SharpEncryptTaskModel task) => TaskDequeued?.Invoke(task);