private void OnCancelTaskExecute(ITaskItemContext obj) { obj.TaskStatus = TaskStatusEnum.Cancel; if (!obj.TaskCancellationTokenSource.IsCancellationRequested) { obj.TaskCancellationTokenSource.Cancel(); } }
private void OnRetryTaskExecute(ITaskItemContext obj) { obj.TaskStatus = TaskStatusEnum.Hangup; if (!obj.TaskCancellationTokenSource.IsCancellationRequested) { obj.TaskCancellationTokenSource.Cancel(); } RunTaskCollection(); }
private async Task UpLoadFileAsync(ITaskItemContext aTaskItem, object[] paramArray) { try { await Task.Run(async() => { int percentComplete = 0; aTaskItem.TaskMessage = string.Empty; while (true) { aTaskItem.TaskStatus = TaskStatusEnum.InProgress; if (aTaskItem.TaskCancellationTokenSource.IsCancellationRequested) { percentComplete = 0; aTaskItem.TaskStatus = TaskStatusEnum.Cancel; aTaskItem.Progress.Report(percentComplete); return; } await Task.Delay(10); percentComplete++; if (aTaskItem.Progress != null) { aTaskItem.Progress.Report(percentComplete); } if (percentComplete == 100) { aTaskItem.TaskStatus = TaskStatusEnum.Completed; break; } } }, aTaskItem.TaskCancellationTokenSource.Token).ConfigureAwait(false); return; } catch (Exception ex) { if (aTaskItem.TaskCancellationTokenSource.IsCancellationRequested) { //ignore } else { aTaskItem.TaskStatus = TaskStatusEnum.Error; aTaskItem.TaskMessage = ex.Message; } } return; }