Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi All,
We are trying to create all the different triggers that is possible to create with QMC and reaply it using the QMS API. We are able to create all triggers possibles like Once Trigger, Hourly Trigger... but we have problems with On Multiple Events Completed trigger. We are using MultipleEventTrigger method and filling all the information and the task is created but when we check on the QMC the Task completed dependencies is empty. It seems that the step of providing the task dependencies we do something wrong. Can someone help with that issue on provide some example?
Our code:
...
MultipleEventTrigger st = new MultipleEventTrigger();
st.ID = triggerID;
st.Type = TaskTriggerType.AndTrigger;
List<Trigger> trigger = new List<Trigger>();
st.TimeConstraint = 360;
st.Enabled = true;
st.SubTriggers = new List<Trigger>
{
taskTrigger[0]
}.ToArray();
...
Many thanks
Hi Juame,
Here are some steps to create a document task with a multiple event trigger. I hope this gets you started.
DocumentTask.TaskTriggering taskTriggering = new DocumentTask.TaskTriggering();
taskTriggering.ExecutionAttempts = 1;
taskTriggering.ExecutionTimeout = (uint)executionTimeout;
taskTriggering.TaskDependencies = new List<TaskInfo>();
taskTriggering.Triggers = new List<Trigger>();
taskTriggering.Triggers.Add(GetMultipleEventTrigger());
MultipleEventTrigger eventTrigger = null;
eventTrigger = new MultipleEventTrigger();
eventTrigger.Enabled = true;
eventTrigger.ID = Guid.NewGuid(); //Make sure to set a GUID
eventTrigger.Type = TaskTriggerType.AndTrigger;
eventTrigger.TimeConstraint = 360;
eventTrigger.SubTriggers = new List<Trigger>();
eventTrigger.SubTriggers.Add(GetTaskEventTrigger("Films.qvw"));
eventTrigger.SubTriggers.Add(GetTaskEventTrigger("Movies Database.qvw"));
Set the correct TaskID by fetching the ID of an existing task using a DocumentTask or TaskInfo object.
TaskEventTrigger taskEventTrigger = null;
taskEventTrigger = new TaskEventTrigger();
taskEventTrigger.Enabled = true;
taskEventTrigger.ID = Guid.NewGuid(); //Make sure to set a GUID
taskEventTrigger.TaskID = documentTask.ID; //TaskID of the dependent task
taskEventTrigger.Type = TaskTriggerType.TaskFinishedTrigger;
Make sure to set a GUID on the triggers, otherwise you will have a TaskFinishedTrigger and an empty AndTrigger (no task completed dependencies) instead of one AndTrigger with task completed dependencies.
Good luck!
Bas Knol
The Implementation Group
Many thanks Bas. Is working as you said, your comments are really helpfull!