Example #1
0
        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 }));
        }
Example #2
0
        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 }));
        }
Example #3
0
        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 }));
        }