Esempio n. 1
0
        public void Workflow_AddExistingVariable_VariableAdded()
        {
            // Arrange
            var correlationId = 100;
            var type          = EntityOnOffWorkflow.TYPE;
            var state         = "Off";
            var assignee      = "alice";
            var workflow      = Workflow.Create(correlationId, type, state, assignee);

            var variable = new LightSwitcherWorkflowVariable();

            workflow.AddVariable(variable);

            var existingVariable = new LightSwitcherWorkflowVariable
            {
                CanSwitch = true
            };

            // Act
            workflow.AddVariable(existingVariable);

            // Assert
            Assert.NotNull(workflow);
            Assert.Single(workflow.WorkflowVariables);

            var wv = workflow.WorkflowVariables.First();
            var v  = (LightSwitcherWorkflowVariable)WorkflowVariable.ConvertContent(wv);

            Assert.True(v.CanSwitch);
        }
Esempio n. 2
0
        private void EnsureWorkflowVariables(Workflow workflow, TriggerParam param)
        {
            if (workflow.WorkflowVariables.Count == 0)
            {
                return;
            }

            foreach (var workflowVariable in workflow.WorkflowVariables)
            {
                var variable = WorkflowVariable.ConvertContent(workflowVariable);
                if (variable is WorkflowVariableBase)
                {
                    var key = workflowVariable.Type;
                    if (param.Variables.ContainsKey(key))
                    {
                        param.Variables[key] = variable as WorkflowVariableBase;
                    }
                    else
                    {
                        param.Variables.Add(key, variable as WorkflowVariableBase);
                    }
                }
            }
        }