public static ProcessInstanceVar GetProcessInstanceVar(IDataReader dr)
        {
            ProcessInstanceVar processInstanceVar = new ProcessInstanceVar();
            ProcessInstanceVarPk pk = new ProcessInstanceVarPk();
            pk.ProcessInstanceId = Convert.ToString(dr["processinstance_id"]);// (rs.getString("processinstance_id"));
            pk.Name = Convert.ToString(dr["name"]); //(rs.getString("name"));
            processInstanceVar.VarPrimaryKey=pk;

            String valueStr = Convert.ToString(dr["value"]); //rs.getString("value");
            Object valueObj = GetProcessInstanceVarObject(valueStr);
            processInstanceVar.ValueType = valueObj.GetType().Name;
            processInstanceVar.Value = valueObj;

            return processInstanceVar;
        }
示例#2
0
        public override Boolean Equals(Object obj)
        {
            if (obj == this)
            {
                return(true);
            }
            if (obj == null)
            {
                return(false);
            }
            if (!(obj is ProcessInstanceVarPk))
            {
                return(false);
            }
            ProcessInstanceVarPk other = (ProcessInstanceVarPk)obj;

            if (Name == null)
            {
                if (other.Name != null)
                {
                    return(false);
                }
            }
            else if (!Name.Equals(other.Name))
            {
                return(false);
            }
            if (ProcessInstanceId == null)
            {
                if (other.ProcessInstanceId != null)
                {
                    return(false);
                }
            }
            else if (!ProcessInstanceId.Equals(other.ProcessInstanceId))
            {
                return(false);
            }
            return(true);
        }
示例#3
0
        public void setProcessInstanceVariable(String name, Object value)
        {
            IPersistenceService persistenceService = this.RuntimeContext.PersistenceService;

            if (_processInstanceVariables == null)
            {
                //通过数据库查询进行初始化
                List <ProcessInstanceVar> allVars = persistenceService.FindProcessInstanceVariable(this.Id);
                _processInstanceVariables = new Dictionary <String, Object>();
                if (allVars != null && allVars.Count != 0)
                {
                    foreach (ProcessInstanceVar theVar in allVars)
                    {
                        _processInstanceVariables.Add(theVar.VarPrimaryKey.Name, theVar.Value);
                    }
                }
            }
            ProcessInstanceVar   procInstVar = new ProcessInstanceVar();
            ProcessInstanceVarPk pk          = new ProcessInstanceVarPk();

            pk.ProcessInstanceId = this.Id;
            pk.Name = name;
            procInstVar.VarPrimaryKey = pk;
            procInstVar.Value         = value.ToString();
            procInstVar.ValueType     = value.GetType().Name;

            if (_processInstanceVariables.ContainsKey(name))
            {
                persistenceService.UpdateProcessInstanceVariable(procInstVar);
                _processInstanceVariables[name] = value;
            }
            else
            {
                persistenceService.SaveProcessInstanceVariable(procInstVar);
                _processInstanceVariables.Add(name, value);
            }
        }
示例#4
0
        public void setProcessInstanceVariable(String name, Object value)
        {
            IPersistenceService persistenceService = this.RuntimeContext.PersistenceService;
            if (_processInstanceVariables == null)
            {
                //通过数据库查询进行初始化
                List<ProcessInstanceVar> allVars = persistenceService.FindProcessInstanceVariable(this.Id);
                _processInstanceVariables = new Dictionary<String, Object>();
                if (allVars != null && allVars.Count != 0)
                {
                    foreach (ProcessInstanceVar theVar in allVars)
                    {
                        _processInstanceVariables.Add(theVar.VarPrimaryKey.Name, theVar.Value);
                    }
                }
            }
            ProcessInstanceVar procInstVar = new ProcessInstanceVar();
            ProcessInstanceVarPk pk = new ProcessInstanceVarPk();
            pk.ProcessInstanceId=this.Id;
            pk.Name=name;
            procInstVar.VarPrimaryKey=pk;
            procInstVar.Value = value.ToString();
            procInstVar.ValueType=value.GetType().Name;

            if (_processInstanceVariables.ContainsKey(name))
            {
                persistenceService.UpdateProcessInstanceVariable(procInstVar);
                _processInstanceVariables[name] = value;
            }
            else
            {
                persistenceService.SaveProcessInstanceVariable(procInstVar);
                _processInstanceVariables.Add(name, value);
            }
        }