Ejemplo n.º 1
0
        public static WorkflowConfig GetByName(string name, IUnitOfData source)
        {
            WorkflowDbContext context = source as WorkflowDbContext;

            var define = context.WF_WORKFLOW_DEF.FirstOrDefault(a => a.WD_SHORT_NAME == name);

            // define.WD_CONTENT
            if (define != null)
            {
                WorkflowConfig config = XmlUtil.ReadFromString <WorkflowConfig>(define.WD_CONTENT);
                config.Steps.ToList().ForEach(a => a.Parent = config);
                return(config);
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 2
0
 private Workflow(string workflowId, IUnitOfData workflowSource)
     : this(workflowSource)
 {
     //Source = workflowSource;
     WorkflowDbContext dbContext = workflowSource as WorkflowDbContext;
     WF_WORKFLOW_INST  row       = dbContext.WF_WORKFLOW_INST.FirstOrDefault(a => a.WI_ID == workflowId);
     AtawDebug.AssertNotNull(row, "该流程已处理或异常,请进历史页面查看", this);
     WorkflowId  = row.WI_ID;
     WorkflowRow = row;
     Config      = WorkflowConfig.GetByName(row.WI_WD_NAME, workflowSource);
     //WorkflowConfig.ConnString =
     StepConfig stepConfig = Config.Steps[row.WI_CURRENT_STEP];
     if (stepConfig != null)
     {
         CurrentStep  = stepConfig.CreateStep(this);
         CurrentState = CurrentStep.GetState(row.WI_STATUS.Value <StepState>());
     }
     else
     {
         throw new AtawException("不存在的步骤" + row.WI_CURRENT_STEP, this);
     }
 }
Ejemplo n.º 3
0
        public Workflow(IUnitOfData source, string name, RegNameList <KeyValueItem> parameter, string createUser,
                        int?parentId)
            : this(source)
        {
            //  Source = source;
            WorkflowDbContext dbContext = source as WorkflowDbContext;
            Config      = WorkflowConfig.GetByName(name, source);
            WorkflowRow = new WF_WORKFLOW_INST();
            //WorkflowRow.BeginEdit();
            WorkflowRow.WI_ID = dbContext.GetUniId();
            //WorkflowRow["WI_ID"] = id;
            WorkflowId                 = WorkflowRow.WI_ID;
            WorkflowRow.WI_WD_NAME     = name;
            WorkflowRow.WI_CREATE_USER = createUser;
            // WorkflowRow["WI_RETRIEVABLE"] = Config.Retrievable;
            ////初始化参与人列表
            WorkflowRow.WI_REF_LIST    = QuoteIdList.GetQuoteId(createUser);
            WorkflowRow.WI_CREATE_DATE = dbContext.Now;

            BeginStep step = Config.Steps.BeginStep.CreateStep(this) as BeginStep;
            step.Parameter = parameter;
            CurrentStep    = step;
            CurrentState   = BeginNRState.Instance;
        }
Ejemplo n.º 4
0
 public ManualStepConfig(WorkflowConfig workflowConfig)
     : base(workflowConfig)
 {
 }
Ejemplo n.º 5
0
 public AutoStepConfig(WorkflowConfig workflowConfig)
     : base(workflowConfig)
 {
 }
Ejemplo n.º 6
0
 public EndStepConfig(WorkflowConfig workflowConfig)
     : base(workflowConfig)
 {
 }
Ejemplo n.º 7
0
 public RouteStepConfig(WorkflowConfig workflowConfig)
     : base(workflowConfig)
 {
     Connections = new RegNameList <ConnectionConfig>();
 }
Ejemplo n.º 8
0
 public BeginStepConfig(WorkflowConfig workflowConfig)
     : base(workflowConfig)
 {
 }
Ejemplo n.º 9
0
 public StepConfig(WorkflowConfig workflowConfig)
     : this()
 {
     fParent = workflowConfig;
 }
Ejemplo n.º 10
0
 protected virtual void SetParent(WorkflowConfig parent)
 {
 }
Ejemplo n.º 11
0
        public void SetParentObj(object parent)
        {
            WorkflowConfig config = parent as WorkflowConfig;

            SetParent(config);
        }