/// <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); }
private void RemoveTask(SqlTask task) { SqlTask removedTask; tasks.TryRemove(task.TaskId, out removedTask); }
public TaskEventArgs(SqlTask sqlTask) { taskData = (T)Convert.ChangeType(sqlTask, typeof(T)); SqlTask = sqlTask; }