📄 workflowbll.cs
字号:
using System;
namespace VML.WorkFlow
{
/// <summary>
/// WorkFlowBLL 的摘要说明。
/// </summary>
public class WorkFlowBLL
{
public WorkFlowBLL()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public System.Xml.XmlDataDocument TransWorkFlowMap(int WorkFlowID)
{
//取得原有系统的工作流程数
VML.OnlySp.Flow data=new VML.OnlySp.Flow();
VML.WorkFlow.WorkFlow WorkFlowmap=new WorkFlow();
data.ReadXml(System.Web.HttpContext.Current.Request.MapPath("WorkFlowData.xml"));
//data=new VML.WorkFlow.WorkFlowDAL().GetFlowItems(WorkFlowID);
//将数据转化为现在格式
this.TransData(WorkFlowmap,data);
System.Xml.XmlDataDocument xmlDoc = new System.Xml.XmlDataDocument(WorkFlowmap);
return xmlDoc;
}
/// <summary>
/// 建立新的流程的初始数据
/// </summary>
/// <returns></returns>
public System.Xml.XmlDataDocument CreateEmptyFlowData()
{
//可考虑加入起始节点
VML.WorkFlow.WorkFlow WorkFlowmap=new WorkFlow();
//加入起始节点
VML.WorkFlow.WorkFlow.WorkFlowItemRow ItemR=WorkFlowmap.WorkFlowItem.NewWorkFlowItemRow();
//转换为现有对象属性
ItemR.ItemID=0;
ItemR.Name="开始节点";
ItemR.LimiteDate="0";
ItemR.PosX="1000px";
ItemR.PosY="1400px";
WorkFlowmap.WorkFlowItem.Rows.Add(ItemR);
//加入结束点
VML.WorkFlow.WorkFlow.WorkFlowItemRow ItemEndR=WorkFlowmap.WorkFlowItem.NewWorkFlowItemRow();
//转换为现有对象属性
ItemEndR.ItemID=-1;
ItemEndR.Name="结否节点";
ItemEndR.LimiteDate="0";
ItemEndR.PosX="5000px";
ItemEndR.PosY="1400px";
WorkFlowmap.WorkFlowItem.Rows.Add(ItemEndR);
System.Xml.XmlDataDocument xmlDoc = new System.Xml.XmlDataDocument(WorkFlowmap);
return xmlDoc;
}
/// <summary>
/// 保存数据到数据库
/// </summary>
/// <param name="XMLData"></param>
public void SaveWorkFlowData(string XMLData)
{
VML.OnlySp.Flow data=new VML.OnlySp.Flow();
System.Xml.XmlDocument doc=new System.Xml.XmlDocument();
doc.LoadXml(XMLData);
doc.Save(System.Web.HttpContext.Current.Request.MapPath("WorkFlowData.xml"));
}
private void TransData(VML.WorkFlow.WorkFlow WorkFlowmap,
VML.OnlySp.Flow data)
{
//因为我不需要位置信息了,所以呢,可以顺序读取。
foreach(VML.OnlySp.Flow.OnlySp_FlowDetailRow FlowR in data.OnlySp_FlowDetail.Rows)
{
VML.WorkFlow.WorkFlow.WorkFlowItemRow ItemR=WorkFlowmap.WorkFlowItem.NewWorkFlowItemRow();
//转换为现有对象属性
ItemR.ItemID=FlowR.DepartID;
ItemR.Name=FlowR.Name;
ItemR.LimiteDate=FlowR.LimiteDate.ToString();
ItemR.PosX=FlowR.PosX;
ItemR.PosY=FlowR.PosY;
WorkFlowmap.WorkFlowItem.Rows.Add(ItemR);
//取得前置部门集合
string[] priDepIDs=FlowR.PriDepID.Split(',');//更正无前置时的错误
if(FlowR.PriDepID!="")
{
foreach(string depID in priDepIDs)
{
//增加关系
VML.WorkFlow.WorkFlow.RelationRow RelR=WorkFlowmap.Relation.NewRelationRow();
RelR.MasterItem=int.Parse(depID);
RelR.SecondItem=FlowR.DepartID;
WorkFlowmap.Relation.Rows.Add(RelR);
}
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -