Exemplo n.º 1
0
        /// <summary>
        /// Async method to cancel the operations
        /// </summary>
        public static async Task <TaskResult> CancelTaskAsync(SqlTask sqlTask)
        {
            ITaskOperation taskOperation = sqlTask.TaskMetadata.TaskOperation as ITaskOperation;
            TaskResult     taskResult    = null;

            if (taskOperation != null)
            {
                return(await Task.Factory.StartNew(() =>
                {
                    try
                    {
                        taskOperation.Cancel();

                        return new TaskResult
                        {
                            TaskStatus = SqlTaskStatus.Canceled
                        };
                    }
                    catch (Exception ex)
                    {
                        return new TaskResult
                        {
                            TaskStatus = SqlTaskStatus.Failed,
                            ErrorMessage = ex.Message
                        };
                    }
                }));
            }
            else
            {
                taskResult            = new TaskResult();
                taskResult.TaskStatus = SqlTaskStatus.Failed;
            }

            return(taskResult);
        }
Exemplo n.º 2
0
        private void RemoveTask(SqlTask task)
        {
            SqlTask removedTask;

            tasks.TryRemove(task.TaskId, out removedTask);
        }
Exemplo n.º 3
0
 public TaskEventArgs(SqlTask sqlTask)
 {
     taskData = (T)Convert.ChangeType(sqlTask, typeof(T));
     SqlTask  = sqlTask;
 }