예제 #1
0
 public Object getProcessInstanceVariable(String name)
 {
     if (_processInstanceVariables == null)
     {
         //通过数据库查询进行初始化
         IPersistenceService       persistenceService = this.RuntimeContext.PersistenceService;
         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);
             }
         }
     }
     if (_processInstanceVariables.ContainsKey(name))
     {
         return(_processInstanceVariables[name]);
     }
     else
     {
         return(null);
     }
 }
        public void Store2_Refresh(object sender, StoreRefreshDataEventArgs e)
        {
            IPersistenceService ips = RuntimeContextExamples.GetRuntimeContext().PersistenceService;

            Store2.DataSource = ips.FindProcessInstanceVariable(HId.Value.ToString());
            Store2.DataBind();
        }
예제 #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);
            }
        }