| IQMSGetTaskStatusNodes Method |
Namespace: PIX.Services.V12
List<TaskStatusNode> GetTaskStatusNodes( List<TaskStatusNodeRequest> taskStatusNodeRequests, TaskStatusFilter filter, TaskStatusScope scope )
Return a type depending on whether or not QDS ID and/or category name is specified, but never return a type that is higher up in the type chain than the root type; QDS > Category > Task > Dependent Task
Using DependentTask as root type in the request list will produce an error since it is implicitly a child element.
QDS IDspecified | Category namespecified | Task IDspecified | Root type:QDS | Root type:Category | Root type:Task |
|---|---|---|---|---|---|
| No | No | No | QDS | Category | Task |
| Yes | No | No | Category | Category | Task |
| No | Yes | No | --- | Task | Task |
| Yes | Yes | No | Task | Task | Task |
| No | No | Yes | --- | --- | Dep.Task |
| Yes | No | Yes | --- | --- | Dep.Task |
| No | Yes | Yes | --- | Dep.Task | Dep.Task |
| Yes | Yes | Yes | Dep.Task | Dep.Task | Dep.Task |
Requires membership of local group QlikView Management API and the role Document Folder Administrator. |
The service key injection is assumed to be handled behind the scenes. For an example of how to inject the service key, see Samples.
using System; using System.Collections.Generic; using System.Linq; using System.Threading; using QMSAPI; class Program { static void Main(string[] args) { try { // create a QMS API client IQMS apiClient = new QMSClient(); //retrieve a time limited service key ServiceKeyClientMessageInspector.ServiceKey = apiClient.GetTimeLimitedServiceKey(); Guid qdsId = new Guid("c7c66836-f00b-47c4-8099-23ff7f178423"); // The originating QDS ID. List<TaskStatusNodeRequest> taskStatusNodeRequests = new List<TaskStatusNodeRequest>(); // Creating a new task status node request array. TaskStatusNodeRequest taskStatusNodeRequest = new TaskStatusNodeRequest(); // Populating the array with a new object. taskStatusNodeRequest.RootType = TaskStatusNodeType.QDS; taskStatusNodeRequest.QDSID = qdsId; taskStatusNodeRequests.Add(taskStatusNodeRequest); TaskStatusFilter taskStatusFilter = new TaskStatusFilter(); taskStatusFilter.TaskStatuses.Add(TaskStatusValue.Failed); taskStatusFilter.TaskTypes.Add(TaskType.DocumentTask); List<TaskStatusNode> statusNodes = apiClient.GetTaskStatusNodes(taskStatusNodeRequests, taskStatusFilter, TaskStatusScope.All); // A service call using the array and a scope. foreach(TaskStatusNode node in statusNodes) { Console.WriteLine(node.Name + "\\t" + node.Status); } } catch (Exception ex) { Console.WriteLine("An exception occurred: " + ex.Message); } // wait for user to press any key Console.ReadLine(); } }