예제 #1
0
        public override JsonResult Save()
        {
            var entity = this.UpdateEntity <S_T_ToDoListDefine>();
            var root   = entity.S_T_ToDoListDefineNode.Where(c => c.Type == "Root").FirstOrDefault();

            if (root == null)
            {
                root           = new S_T_ToDoListDefineNode();
                root.ID        = FormulaHelper.CreateGuid();
                root.FullID    = root.ID;
                root.ParentID  = "";
                root.Name      = entity.Name;
                root.Type      = "Root";
                root.SortIndex = 0;
                root.DefineID  = entity.ID;
                root.ModeID    = entity.ModeID;
                entity.S_T_ToDoListDefineNode.Add(root);
                root.S_T_ToDoListDefine = entity;
            }
            else
            {
                root.Name = entity.Name;
            }
            this.entities.SaveChanges();
            return(Json(new { ID = entity.ID }));
        }
        public JsonResult AddNode(string ParentID)
        {
            var parent = this.GetEntity <S_T_ToDoListDefineNode>(ParentID);

            if (parent == null)
            {
                throw new Formula.Exceptions.BusinessException("没有找到ID为【" + ParentID + "】的节点,无法新增");
            }
            var node = new S_T_ToDoListDefineNode();

            node.ID = FormulaHelper.CreateGuid();
            if (parent.Type == "Root")
            {
                node.Type = "Category";
                node.Name = "新分类";
            }
            else if (parent.Type == "Category")
            {
                node.Type = "Task";
                node.Name = "新工作";
            }
            else
            {
                node.Type = "Process";
                node.Name = "新工序";
            }
            node.ParentID           = parent.ID;
            node.FullID             = parent.FullID + "." + node.ID;
            node.SortIndex          = parent.S_T_ToDoListDefine.S_T_ToDoListDefineNode.Where(c => c.ParentID == parent.ID).Count();
            node.DefineID           = parent.DefineID;
            node.S_T_ToDoListDefine = parent.S_T_ToDoListDefine;
            parent.S_T_ToDoListDefine.S_T_ToDoListDefineNode.Add(node);
            this.entities.SaveChanges();
            return(Json(node));
        }