Beispiel #1
0
        public WorkflowInstance CreateInstance(Dictionary <string, object> Parameters, string queuename, string correlationId,
                                               WorkflowInstance.idleOrComplete idleOrComplete, WorkflowInstance.VisualTrackingHandler VisualTracking)
        {
            if (this.Parameters == null)
            {
                this.Parameters = new List <workflowparameter>();
            }
            if (this.Parameters.Count == 0)
            {
                ParseParameters();
            }
            var instance = WorkflowInstance.Create(this, Parameters);

            instance.queuename = queuename; instance.correlationId = correlationId;
            if (idleOrComplete != null)
            {
                instance.OnIdleOrComplete += idleOrComplete;
            }
            if (VisualTracking != null)
            {
                instance.OnVisualTracking += VisualTracking;
            }
            Instances.Add(instance);
            //instance.Run();
            return(instance);
        }
Beispiel #2
0
        public async Task <WorkflowInstance> Run(Dictionary <string, object> Parameters, string queuename, string correlationId, WorkflowInstance.idleOrComplete idleOrComplete)
        {
            var instance = await WorkflowInstance.Create(this, Parameters);

            instance.queuename = queuename; instance.correlationId = correlationId;
            if (idleOrComplete != null)
            {
                instance.OnIdleOrComplete += idleOrComplete;
            }
            Instances.Add(instance);
            await instance.Run();

            return(instance);
        }