Example #1
0
 private void OnCancelTaskExecute(ITaskItemContext obj)
 {
     obj.TaskStatus = TaskStatusEnum.Cancel;
     if (!obj.TaskCancellationTokenSource.IsCancellationRequested)
     {
         obj.TaskCancellationTokenSource.Cancel();
     }
 }
Example #2
0
 private void OnRetryTaskExecute(ITaskItemContext obj)
 {
     obj.TaskStatus = TaskStatusEnum.Hangup;
     if (!obj.TaskCancellationTokenSource.IsCancellationRequested)
     {
         obj.TaskCancellationTokenSource.Cancel();
     }
     RunTaskCollection();
 }
Example #3
0
        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;
        }