public AjaxResult AddNodeInfo(string NoeInfo) { JObject NodeObj = (JObject)JsonConvert.DeserializeObject(NoeInfo); string FlowCode = Convert.ToString(NodeObj["FlowCode"]); int FlowNodeCode = Convert.ToInt32(NodeObj["ID"]); string NodeName = Convert.ToString(NodeObj["Name"]); int ActiveId = Convert.ToInt32(NodeObj["CurrentNode"]); int AllApproval = Convert.ToInt32(NodeObj["AllApproval"]); int FreeCandidates = Convert.ToInt32(NodeObj["FreeCandidates"]); int BlankNode = Convert.ToInt32(NodeObj["BlankNode"]); string NodeLeft = Convert.ToString(NodeObj["NodeLeft"]); string NodeTop = Convert.ToString(NodeObj["NodeTop"]); string FlowNodeEvent = Convert.ToString(NodeObj["FlowNodeEvent"]); JArray array = (JArray)NodeObj["SPLIST"]; int result = 0; DbTrans trans = null; try { using (trans = Db.Context.BeginTransaction()) { #region 添加节点 List <TbFlowNode> list = dao.GetAllByFlowCode(FlowCode); for (int i = 0; i < list.Count; i++) { int count = list.Where(f => f.FlowNodeCode == Convert.ToString(FlowNodeCode)).Count(); if (count > 0) { FlowNodeCode = FlowNodeCode + 10; } else { break; } } //添加节点 result = dao.AddNode(FlowCode, NodeName, ActiveId, FlowNodeCode, AllApproval, FreeCandidates, BlankNode, NodeLeft, NodeTop, FlowNodeEvent); if (result > 0 && array.Count > 0 && Convert.ToString(array[0]) != "[]") { result = 0; List <TbFlowNodePersonnel> plist = new List <TbFlowNodePersonnel>(); for (int i = 0; i < array.Count; i++) { TbFlowNodePersonnel model = new TbFlowNodePersonnel(); model.FlowCode = FlowCode; model.FlowNodeCode = FlowNodeCode.ToString(); int ActionType = 0; switch (Convert.ToString(array[i]["ActionType"])) { case "审批": ActionType = 0; break; case "抄送": ActionType = -1; break; } model.ActionType = ActionType; string source = string.Empty; switch (Convert.ToString(array[i]["TypeName"])) { case "部门": source = "Department"; break; case "角色": source = "Role"; break; case "人员": source = "Personnel"; break; } model.PersonnelSource = source; model.PersonnelCode = Convert.ToString(array[i]["UserTypeId"]); model.DeptId = Convert.ToString(array[i]["DeptId"]); model.RoleId = Convert.ToString(array[i]["RoleId"]); model.ProjectId = Convert.ToString(array[i]["ProjectId"]); model.OrgId = Convert.ToString(array[i]["OrgId"]); model.OrgType = Convert.ToString(array[i]["OrgType"]); plist.Add(model); } //添加节点人员 result = Repository <TbFlowNodePersonnel> .Insert(plist); } #endregion if (result > 0) { return(AjaxResult.Success()); } else { return(AjaxResult.Error()); } } } catch (Exception ex) { return(AjaxResult.Error(ex.ToString())); } }
public AjaxResult UpdateNode(string NodeInfo) { JObject NodeObj = (JObject)JsonConvert.DeserializeObject(NodeInfo); string FlowCode = Convert.ToString(NodeObj["FlowCode"]); int FlowNodeCode = Convert.ToInt32(NodeObj["ID"]); string NodeName = Convert.ToString(NodeObj["Name"]); int ActiveId = Convert.ToInt32(NodeObj["CurrentNode"]); int AllApproval = Convert.ToInt32(NodeObj["AllApproval"]); int FreeCandidates = Convert.ToInt32(NodeObj["FreeCandidates"]); int BlankNode = Convert.ToInt32(NodeObj["BlankNode"]); string NodeLeft = Convert.ToString(NodeObj["NodeLeft"]); string NodeTop = Convert.ToString(NodeObj["NodeTop"]); string FlowNodeEvent = Convert.ToString(NodeObj["FlowNodeEvent"]); JArray array = (JArray)NodeObj["SPLIST"]; int result = 0; List <TbFlowNodePersonnel> plist = new List <TbFlowNodePersonnel>(); try { if (array.Count > 0) { for (int i = 0; i < array.Count; i++) { TbFlowNodePersonnel model = new TbFlowNodePersonnel(); model.FlowCode = FlowCode; model.FlowNodeCode = FlowNodeCode.ToString(); int ActionType = 0; switch (Convert.ToString(array[i]["ActionType"])) { case "审批": ActionType = 0; break; case "抄送": ActionType = -1; break; } model.ActionType = ActionType; string source = string.Empty; switch (Convert.ToString(array[i]["TypeName"])) { case "部门": source = "Department"; break; case "角色": source = "Role"; break; case "人员": source = "Personnel"; break; } model.PersonnelSource = source; model.PersonnelCode = Convert.ToString(array[i]["UserTypeId"]); model.DeptId = Convert.ToString(array[i]["DeptId"]); model.RoleId = Convert.ToString(array[i]["RoleId"]); model.ProjectId = Convert.ToString(array[i]["ProjectId"]); model.OrgId = Convert.ToString(array[i]["OrgId"]); model.OrgType = Convert.ToString(array[i]["OrgType"]); plist.Add(model); } } result = dao.UpdateNode(FlowCode, NodeName, FlowNodeCode, AllApproval, FreeCandidates, BlankNode, FlowNodeEvent, plist); if (result > 0) { return(AjaxResult.Success()); } else { return(AjaxResult.Error()); } } catch (Exception ex) { return(AjaxResult.Error(ex.ToString())); } }