コード例 #1
0
        public override NodeReturn Run(FlowContent flowContent)
        {
            NodeReturn ret = new NodeReturn();

            if (flowContent.CurrentNodeKey.Split(',').Contains(this.NodeKey))
            {
                ret.isOver = true;
            }
            else
            {
                ret.isOver = false;
                WF_Instance   node = instanceBll.getByID(flowContent.CurrentInstanceID);
                List <string> user = new List <string>();
                if (node.ApplyUserCode != node.WriterUserCode)
                {
                    user.Add(node.ApplyUserCode);
                    user.Add(node.WriterUserCode);
                }
                else
                {
                    user.Add(node.WriterUserCode);
                }
                ret.ToDoUserList = user;
            }
            return(ret);
        }
コード例 #2
0
ファイル: EndNode.cs プロジェクト: wangyipeng87/wf
        public override NodeReturn Run(FlowContent flowContent)
        {
            this.RunEndFlowEvent(flowContent);
            WF_Instance instance = instancebll.getByID(flowContent.CurrentInstanceID);

            if (instance != null)
            {
                instance.State          = (int)Common.InstanceState.End;
                instance.UpdateTime     = DateTime.Now;
                instance.UpdateUserCode = flowContent.CurrenUserCode;
                instancebll.update(instance);
            }
            NodeReturn ret = new NodeReturn();

            ret.isOver = true;
            return(ret);
        }
コード例 #3
0
ファイル: RoleNode.cs プロジェクト: wangyipeng87/wf
        public override NodeReturn Run(FlowContent flowContent)
        {
            NodeReturn ret = new NodeReturn();

            if (flowContent.CurrentNodeKey.Split(',').Contains(this.NodeKey))
            {
                ret.isOver = true;
            }
            else
            {
                ret.isOver = false;
                WF_TemplateNode     node     = nodebll.getByNodeKey(flowContent.TmpKey, this.NodeKey);
                string              rolecode = node.ProcessTypeValue;
                List <WF_Role_User> userlist = roleuserbll.getRoleUserByRoleCode(rolecode);
                List <string>       user     = new List <string>();
                user             = userlist.Select(p => p.UserCode).ToList();
                ret.ToDoUserList = user;
            }
            return(ret);
        }
コード例 #4
0
ファイル: UserNode.cs プロジェクト: wangyipeng87/wf
        public override NodeReturn Run(FlowContent flowContent)
        {
            NodeReturn ret = new NodeReturn();

            if (flowContent.CurrentNodeKey.Split(',').Contains(this.NodeKey))
            {
                ret.isOver = true;
            }
            else
            {
                ret.isOver = false;
                List <WF_Node_People> user     = people.getAllByNode(flowContent.TmpKey, this.NodeKey);
                List <string>         userlist = new List <string>();
                if (user != null && user.Count > 0)
                {
                    userlist = user.Select(p => p.UserCode).ToList();
                }
                ret.ToDoUserList = userlist;
            }
            return(ret);
        }
コード例 #5
0
        void btn_Click(object sender, EventArgs e)
        {
            NodeReturns rnds = new NodeReturns();

            rnds.Delete(NodeReturnAttr.FK_Node, this.FK_Node);

            BP.WF.Nodes nds = new Nodes();
            nds.Retrieve(BP.WF.Template.NodeAttr.FK_Flow, this.FK_Flow);

            int i = 0;

            foreach (BP.WF.Node nd in nds)
            {
                CheckBox cb = this.Pub1.GetCBByID("CB_" + nd.NodeID);
                if (cb == null)
                {
                    continue;
                }

                if (cb.Checked == false)
                {
                    continue;
                }

                NodeReturn nr = new NodeReturn();
                nr.FK_Node  = this.FK_Node;
                nr.ReturnTo = nd.NodeID;
                nr.Insert();
                i++;
            }
            if (i == 0)
            {
                this.Alert("请您选择要退回的节点。");
                return;
            }
            this.WinCloseWithMsg("设置成功");
        }
コード例 #6
0
ファイル: NodeReturnView.cs プロジェクト: hagusen/AI-Testing
        protected override void InitializeView()
        {
            base.InitializeView();
            // titleIcon.image = null;
            NodeReturn node = targetNode as NodeReturn;

            if (!node.returnAnyType)
            {
                var parent = node.parentComponent;
                if (parent != null && parent is uNodeProperty)
                {
                    uNodeProperty m = parent as uNodeProperty;
                    if (m.CanGetValue() && m.ReturnType() != typeof(void))
                    {
                        AddInputValuePort(
                            new PortData()
                        {
                            portID         = "return",
                            onValueChanged = (o) => {
                                RegisterUndo();
                                node.returnValue = o as MemberData;
                            },
                            getPortName  = () => "",
                            getPortType  = () => m.ReturnType(),
                            getPortValue = () => node.returnValue,
                        }
                            );
                    }
                }
                else if (node.rootObject != null && node.rootObject is uNodeFunction)
                {
                    uNodeFunction m = node.rootObject as uNodeFunction;
                    if (m.ReturnType() != typeof(void))
                    {
                        AddInputValuePort(
                            new PortData()
                        {
                            portID         = "return",
                            onValueChanged = (o) => {
                                RegisterUndo();
                                node.returnValue = o as MemberData;
                            },
                            getPortName  = () => "",
                            getPortType  = () => m.ReturnType(),
                            getPortValue = () => node.returnValue,
                        }
                            );
                    }
                }
            }
            else
            {
                AddInputValuePort(
                    new PortData()
                {
                    portID         = "return",
                    onValueChanged = (o) => {
                        RegisterUndo();
                        node.returnValue = o as MemberData;
                    },
                    getPortName  = () => "",
                    getPortType  = () => typeof(object),
                    getPortValue = () => node.returnValue,
                }
                    );
            }
            if (uNodeUtility.preferredDisplay != DisplayKind.Full)
            {
                ConstructCompactTitle("return");
            }
        }