Beispiel #1
0
 public void AddTask(string key, TaskStateData value)
 {
     if (string.IsNullOrEmpty(key))
     {
         return;
     }
     Tasks.Add(key, value);
 }
Beispiel #2
0
        protected override void Execute(NativeActivityContext context)
        {
            Log.Debug("GenericTask -> Start");

            var workflowStatus = context.GetExtension <WorkflowStateData>();

            if (OnRun != null)
            {
                TaskStateData taskState = null;
                if (workflowStatus.Tasks.ContainsKey(TaskCode.Get(context)))
                {
                    taskState = workflowStatus.Tasks[TaskCode.Get(context)];
                }
                context.ScheduleAction(OnRun, taskState);
            }

            Log.Debug("GenericTask -> End");
        }
Beispiel #3
0
        /// <summary>
        /// Executes after "client" OnComplete callback
        /// </summary>
        /// <param name="context">Context</param>
        /// <param name="completedInstance">ActivityInstance</param>
        /// <param name="result">TaskStateData</param>
        private void OnClientCompleteCallBack(NativeActivityContext context, ActivityInstance completedInstance, TaskStateData result)
        {
            Log.Debug("OnClientCompleteCallBack -> Start");

            var workflowStatusEx = context.GetExtension <WorkflowStateData>();

            var workflowStatusProp = context.Properties.Find(WorkflowStateData.Name) as WorkflowStateData;

            if (workflowStatusProp != null)
            {
                workflowStatusEx.Parameters = workflowStatusProp.Parameters;
                workflowStatusEx.Tasks      = workflowStatusProp.Tasks;

                workflowStatusEx.Result = workflowStatusProp.Result;
            }

            Log.Debug("OnClientCompleteCallBack -> End");
        }
Beispiel #4
0
        /// <summary>
        /// Executes after "client" OnInit callback
        /// </summary>
        /// <param name="context">Context</param>
        /// <param name="completedInstance">ActivityInstance</param>
        /// <param name="result">TaskStateData</param>
        private void OnInitCallback(NativeActivityContext context, ActivityInstance completedInstance, TaskStateData result)
        {
            Log.Debug("OnInitCallback -> Start");

            var workflowStatus = context.Properties.Find(WorkflowStateData.Name) as WorkflowStateData;

            if (workflowStatus == null)
            {
                throw new Exception("Cannot find WorkflowStateData");
            }

            var task = workflowStatus.Tasks[TaskCode];

            SetExpiry(context, task.TaskInfo.ExpiresWhen, task.TaskInfo.ExpiresIn);

            context.ScheduleActivity(_approveSequence, OnCompleteCallback);

            Log.Debug("OnInitCallback -> End");
        }