/// <summary> /// 保存DealWay信息,解决个别状态只有一个处理方式的情况(比如:开始状态) /// </summary> /// <param name="stateId"></param> /// <param name="dealWayId"></param> /// <param name="dealWayName"></param> /// <param name="currentXmlNode"></param> /// <param name="templateId"></param> private static void SaveDealWay(Guid stateId, Guid dealWayId, string dealWayName, XElement currentXmlNode, Guid templateId, int dealWayType) { var formId = Guid.Empty; if (currentXmlNode.Attribute(XName.Get("DealWayDealFormID")) != null && !string.IsNullOrEmpty(currentXmlNode.Attribute(XName.Get("DealWayDealFormID")).Value)) { formId = new Guid(currentXmlNode.Attribute(XName.Get("DealWayDealFormID")).Value); } var pointStateId = Guid.Empty; if (currentXmlNode.Attribute(XName.Get("NextNodeID")) != null && !string.IsNullOrEmpty(currentXmlNode.Attribute(XName.Get("NextNodeID")).Value)) { pointStateId = new Guid(currentXmlNode.Attribute(XName.Get("NextNodeID")).Value); } var dealWayEntity = new WfDealWayEntity(dealWayId, dealWayName, stateId, templateId, formId, pointStateId, dealWayType); SaveWfObjectRoleInfo(currentXmlNode, dealWayId, templateId); dealWayEntity.Create(); }
/// <summary> /// 逐个保存信息,使用guid作为switch的条件 /// </summary> /// <param name="dealWayId"></param> /// <param name="dealWayName"></param> /// <param name="currentXmlNode"></param> /// <param name="templateId"></param> private static void SaveDealWayNew(Guid dealWayId, string dealWayName, XElement currentXmlNode, Guid templateId, Guid nextStateId, int dealWayType) { var stateId = new Guid(currentXmlNode.Attribute(XName.Get("StateId")).Value); var dealDeptLevel = currentXmlNode.Attribute(XName.Get("DeptLevel")) == null ? 0 : Convert.ToInt32(currentXmlNode.Attribute(XName.Get("DeptLevel")).Value); var dealPersonLevel = currentXmlNode.Attribute(XName.Get("DealPersonLevel")) == null ? 0 : Convert.ToInt32( currentXmlNode.Attribute(XName.Get("DealPersonLevel")).Value); var dealPerson = currentXmlNode.Attribute(XName.Get("DealPerson")) == null ? "" : currentXmlNode.Attribute(XName.Get("DealPerson")).Value; var formId = currentXmlNode.Attribute(XName.Get("DealFormID")) == null ? Guid.Empty : new Guid(currentXmlNode.Attribute(XName.Get("DealFormID")).Value); var dealWayEntity = new WfDealWayEntity(dealWayId, dealWayName, stateId, templateId, formId, nextStateId, dealWayType); dealWayEntity.Create(); SaveWfObjectRoleInfo(currentXmlNode, dealWayId, templateId); }
/// <summary> /// 获取实体信息 /// </summary> /// <param name="row">数据行</param> /// <returns></returns> private static WfDealWayEntity GetEntity(DataRow row) { WfDealWayEntity entity = new WfDealWayEntity(); if (row["DealWayId"] != DBNull.Value) entity.DealWayId = Guid.Parse(row["DealWayId"].ToString()); if (row["TemplateId"] != DBNull.Value) entity.TemplateId = Guid.Parse(row["TemplateId"].ToString()); entity.DealWayName = row["DealWayName"].ToString(); if (row["StateId"] != DBNull.Value) entity.StateId = Guid.Parse(row["StateId"].ToString()); if (row["FormId"] != DBNull.Value) entity.FormId = Guid.Parse(row["FormId"].ToString()); if (row["PointStateId"] != DBNull.Value) entity.PointStateId = Guid.Parse(row["PointStateId"].ToString()); if (row["DealWayType"] != DBNull.Value) entity.DealWayType = Convert.ToInt32(row["DealWayType"]); if (row["CreateTime"] != DBNull.Value) entity.CreateTime = Convert.ToDateTime(row["CreateTime"]); if (row["CreatePerson"] != DBNull.Value) entity.CreatePerson = Guid.Parse(row["CreatePerson"].ToString()); entity.DealWayCode = row["DealWayCode"].ToString(); if (row["DealPersonLevel"] != DBNull.Value) entity.DealPersonLevel = Convert.ToInt32(row["DealPersonLevel"]); if (row["DealDeptLevel"] != DBNull.Value) entity.DealDeptLevel = Convert.ToInt32(row["DealDeptLevel"]); entity.DealPerson = row["DealPerson"].ToString(); return entity; }