| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using FlowEditor.WorkFlow;
- namespace FlowEditor.BusinessConfigurator.DefBusinessConfigurator
- {
- public partial class DefModifyRollbackOprEditForm : Form
- {
- WorkFlow.Flow _flow;
- WorkFlow.BusineFlowNode _objNode;
- List<RollbackOpr> _newRollbackList;
- RollbackOpr _rollback;
- bool bExit = true;
- public WorkFlow.Flow Flow
- {
- get { return _flow; }
- set { _flow = value; }
- }
- public WorkFlow.BusineFlowNode ObjNode
- {
- get { return _objNode; }
- set
- {
- _objNode = value;
- }
- }
- public List<RollbackOpr> NewRollbackList
- {
- get { return _newRollbackList; }
- set { _newRollbackList = value; }
- }
- public RollbackOpr Rollback
- {
- get { return _rollback; }
- set { _rollback = value; }
- }
-
- /// <summary>
- /// 获取可供作为打回的节点列表
- /// 当前节点不选,已被作为打回的节点不选
- /// </summary>
- /// <returns></returns>
- protected List<BusineFlowNode> GetNodes()
- {
- List<BusineFlowNode> nodeList = new List<BusineFlowNode>();
- nodeList.Add(_rollback.ObjNode);
- foreach (WorkFlow.FlowNode node in _flow.FlowNodeList)
- {
- if (!node.BeBusineNode || node == _objNode)
- continue;
- //寻找已添加的打回节点
- bool bAdd = true;
- if (_newRollbackList != null && _newRollbackList.Count > 0)
- {
- foreach (RollbackOpr rollbackOpr in _newRollbackList)
- {
- if (rollbackOpr.ObjNode == node)
- {
- bAdd = false;
- break;
- }
- }
- }
- if (bAdd)
- nodeList.Add((BusineFlowNode)node);
- }
- return nodeList;
- }
- public DefModifyRollbackOprEditForm()
- {
- InitializeComponent();
- }
- private void DefModifyRollbackOprEditForm_Load(object sender, EventArgs e)
- {
- tbID.Text = _rollback.RollbackOprID;
- tbName.Text = _rollback.RollbackOprName;
- List<BusineFlowNode> nodeList = GetNodes();
- cbNextNodes.Items.AddRange(nodeList.ToArray());
- if (nodeList.Count > 0)
- cbNextNodes.SelectedItem = _rollback.ObjNode;
- }
- private void btOK_Click(object sender, EventArgs e)
- {
- tbID.Text.Trim();
- tbName.Text.Trim();
- //判断ID是否重复
- if (_objNode.RollbackOprList != null && _newRollbackList.Count > 0)
- {
- foreach (RollbackOpr rollback in _newRollbackList)
- {
- if (rollback.RollbackOprID == _rollback.RollbackOprID)
- {
- MessageBox.Show("警告", "操作ID重复!");
- bExit = false;
- return;
- }
- }
- }
- _rollback.RollbackOprID = tbID.Text;
- _rollback.RollbackOprName = tbName.Text;
- _rollback.ObjNode = (BusineFlowNode)cbNextNodes.SelectedItem;
- }
- private void DefModifyRollbackOprEditForm_FormClosing(object sender, FormClosingEventArgs e)
- {
- if (!bExit)
- e.Cancel = true;
- }
- }
- }
|