Ejemplo n.º 1
0
        public virtual void RemoveVariables()
        {
            foreach (var variableInstance in VariableStore.Variables)
            {
                InvokeVariableLifecycleListenersDelete(variableInstance, SourceActivityVariableScope);
            }

            VariableStore.RemoveVariables();
        }
Ejemplo n.º 2
0
        protected internal virtual void RemoveVariableLocal(string variableName,
                                                            AbstractVariableScope sourceActivityExecution)
        {
            if (VariableStore.ContainsKey(variableName))
            {
                var variableInstance = VariableStore.GetVariable(variableName);

                InvokeVariableLifecycleListenersDelete(variableInstance, sourceActivityExecution);
                VariableStore.RemoveVariable(variableName);
            }
        }
Ejemplo n.º 3
0
        public virtual void SetVariableLocal(string variableName, ITypedValue value,
                                             AbstractVariableScope sourceActivityExecution)
        {
            var variableStore = VariableStore;

            if (variableStore.ContainsKey(variableName))
            {
                var existingInstance = variableStore.GetVariable(variableName);
                existingInstance.SetValue(value);
                InvokeVariableLifecycleListenersUpdate(existingInstance, sourceActivityExecution);
            }
            else
            {
                var variableValue = VariableInstanceFactory.Build(variableName, value, false);
                VariableStore.AddVariable(variableValue as VariableInstanceEntity);
                InvokeVariableLifecycleListenersCreate(variableValue, sourceActivityExecution);
            }
        }
Ejemplo n.º 4
0
        protected internal virtual void RemoveVariable(string variableName,
                                                       AbstractVariableScope sourceActivityExecution)
        {
            if (VariableStore.ContainsKey(variableName))
            {
                RemoveVariableLocal(variableName, sourceActivityExecution);
                return;
            }
            var parentVariableScope = ParentVariableScope;

            if (parentVariableScope != null)
            {
                if (sourceActivityExecution == null)
                {
                    parentVariableScope.RemoveVariable(variableName);
                }
                else
                {
                    parentVariableScope.RemoveVariable(variableName, sourceActivityExecution);
                }
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        ///     Sets a variable in the local scope. In contrast to
        ///     <seealso cref="#setVariableLocal(String, Object)" />, the variable is transient that
        ///     means it will not be stored in the data base. For example, a transient
        ///     variable can be used for a result variable that is only available for
        ///     output mapping.
        /// </summary>
        public virtual void SetVariableLocalTransient(string variableName, object value)
        {
            ITypedValue typedValue = Engine.Variable.Variables.UnTypedValue(value);

            VariableStore.AddVariable(VariableInstanceFactory.Build(variableName, typedValue, true));
        }
Ejemplo n.º 6
0
 public virtual ICoreVariableInstance GetVariableInstanceLocal(string name)
 {
     return(VariableStore.GetVariable(name));
 }
Ejemplo n.º 7
0
 public virtual bool HasVariableLocal(string variableName)
 {
     return(VariableStore.ContainsKey(variableName));
 }