public ActionResult addNodeExpression() { string templateId = Request.Form["templateId"]; string from = Request.Form["from"]; string to = Request.Form["to"]; string Expression = Request.Form["Expression"]; string Description = Request.Form["Description"]; int OrderNO = int.Parse(Request.Form["OrderNO"]); if (Session[templateId] != null) { MyDB mydb = Session[templateId] as MyDB; WFTemplate template = mydb.WFTemplates.Find(templateId); WFNodeExpression expression = new WFNodeExpression { ID = Guid.NewGuid().ToString(), Expression = string.IsNullOrEmpty(Expression) ? "1==1" : Expression, Description = Description, OrderNO = OrderNO, WFNode = mydb.WFNodeXORSplits.Find(from), Next = mydb.WFNodes.Find(to) }; mydb.WFNodeExpressions.Add(expression); return(Json(new { success = true, data = expression.ID })); } return(Json(new { success = false })); }
public ActionResult deleteLine() { string templateId = Request.Form["templateId"]; string LineID = Request.Form["LineID"]; if (Session[templateId] != null) { MyDB mydb = Session[templateId] as MyDB; /// 连接线可能有三种情况:来自于活动,表达式,或分支节点的缺省 WFNodeAction action = mydb.WFNodeActions.Find(LineID); if (action != null) { mydb.WFNodeActions.Remove(action); return(Json(new { success = true })); } WFNodeExpression expression = mydb.WFNodeExpressions.Find(LineID); if (expression != null) { mydb.WFNodeExpressions.Remove(expression); return(Json(new { success = true })); } WFNodeStart start = mydb.WFNodeStarts.Find(LineID); if (start != null) { start.Next = null; return(Json(new { success = true })); } return(Json(new { success = false })); } return(Json(new { success = false })); }
public ActionResult modifyTemplate() { string id = Request.Params["templateId"]; string mode = Request.Params["mode"]; if (Session[id] == null) { Session[id] = new MyDB(); } MyDB mydb = Session[id] as MyDB; switch (mode) { case "select": { if (Request.Params["nodeID"] != null) { string nodeID = Request.Params["nodeID"]; int x = int.Parse(Request.Params["x"]); int y = int.Parse(Request.Params["y"]); WFNode node = mydb.WFNodes.Find(nodeID); node.PositionX = x; node.PositionY = y; } else if (Request.Params["lineID"] != null) { string LineID = Request.Params["lineID"]; if (string.IsNullOrEmpty(Request.Params["x"]) || string.IsNullOrEmpty(Request.Params["y"])) { WFNodeAction action = mydb.WFNodeActions.Find(LineID); if (action != null) { action.PositionX = null; action.PositionY = null; } WFNodeExpression expression = mydb.WFNodeExpressions.Find(LineID); if (expression != null) { expression.PositionX = null; expression.PositionY = null; } } else { int x = int.Parse(Request.Params["x"]); int y = int.Parse(Request.Params["y"]); WFNodeAction action = mydb.WFNodeActions.Find(LineID); if (action != null) { action.PositionX = x; action.PositionY = y; } WFNodeExpression expression = mydb.WFNodeExpressions.Find(LineID); if (expression != null) { expression.PositionX = x; expression.PositionY = y; } } } } break; case "move": { int x = int.Parse(Request.Params["x"]); int y = int.Parse(Request.Params["y"]); WFTemplate t = mydb.WFTemplates.Find(id); t.OffsetX = x; t.OffsetY = y; } break; default: break; } return(Json(new { success = true })); }