コード例 #1
0
        private void MoveNode(NodePositionMovement npm)
        {
            CoreRepository.ClearQueryCache("Nodes");

            IList rootNodes = CoreRepository.GetRootNodes(ActiveNode.Site);

            ActiveNode.Move(rootNodes, npm);
            CoreRepository.FlushSession();
            Context.Response.Redirect(Context.Request.RawUrl);
        }
コード例 #2
0
ファイル: Node.cs プロジェクト: xiaopohou/cuyahoga
        /// <summary>
        /// Move the node to a different position in the tree.
        /// </summary>
        /// <param name="rootNodes">We need the root nodes when the node has no ParentNode</param>
        /// <param name="npm">Direction</param>
        public virtual void Move(IList <Node> rootNodes, NodePositionMovement npm)
        {
            switch (npm)
            {
            case NodePositionMovement.Up:
                MoveUp(rootNodes);
                break;

            case NodePositionMovement.Down:
                MoveDown(rootNodes);
                break;

            case NodePositionMovement.Left:
                MoveLeft(rootNodes);
                break;

            case NodePositionMovement.Right:
                MoveRight(rootNodes);
                break;
            }
        }
コード例 #3
0
        public ReturnObject MoveNode(int sourceSiteId, int sourceNodeId, string direction, bool showAll)
        {
            this.ShowAll = showAll;
                this.SourceNode = this.NodeService.GetNodeById(sourceNodeId);

                IList<Node> rootNodes = this.SourceNode.Site.RootNodes.OrderBy(x => x.Position) as IList<Node>;

                NodePositionMovement npm = new NodePositionMovement();
                switch (direction)
                {
                    case "up":
                        npm = NodePositionMovement.Up;
                        break;
                    case "down":
                        npm = NodePositionMovement.Down;
                        break;
                    case "left":
                        npm = NodePositionMovement.Left;
                        break;
                    case "right":
                        npm = NodePositionMovement.Right;
                        break;
                }

                try
                {
                    CommonDao.RemoveQueryFromCache("Nodes");

                    this.SourceNode.Move(rootNodes, npm);
                    //this.NodeService.SaveNode(this.SourceNode);

                    CommonDao.Flush();

                    if (npm == NodePositionMovement.Left || npm == NodePositionMovement.Right)
                    CommonDao.RemoveCollectionFromCache("Cuyahoga.Core.Domain.Node.ChildNodes");

                    string Details = "Node '" + this.SourceNode.Title + "' has been moved " + direction;

                    //Build sites list
                    BuildNodeTree(this.SourceNode);
                    string sitesHTMLTW = RenderControlString(plhNodes);

                    return new ReturnObject() { Success = true, SiteId = sourceSiteId, NodeId = sourceNodeId, Details = Details, SitesHTML = sitesHTMLTW };
                }
                catch (System.Exception excep)
                {
                    //Build sites list
                    BuildNodeTree(this.SourceNode);
                    string sitesHTMLTW = RenderControlString(plhNodes);

                    string Details = "Error: Node: '" + this.SourceNode.Title + "' has not been moved " + direction + ". " + excep.Message;
                    return new ReturnObject() { Success = false, SiteId = sourceSiteId, NodeId = sourceNodeId, Details = Details, SitesHTML = sitesHTMLTW };
                }
        }
コード例 #4
0
ファイル: Node.cs プロジェクト: martijnboland/cuyahoga-1
 /// <summary>
 /// Move the node to a different position in the tree.
 /// </summary>
 /// <param name="rootNodes">We need the root nodes when the node has no ParentNode</param>
 /// <param name="npm">Direction</param>
 public virtual void Move(IList rootNodes, NodePositionMovement npm)
 {
     switch (npm)
     {
         case NodePositionMovement.Up:
             MoveUp(rootNodes);
             break;
         case NodePositionMovement.Down:
             MoveDown(rootNodes);
             break;
         case NodePositionMovement.Left:
             MoveLeft(rootNodes);
             break;
         case NodePositionMovement.Right:
             MoveRight(rootNodes);
             break;
     }
 }
コード例 #5
0
        private void MoveNode(NodePositionMovement npm)
        {
            base.CoreRepository.ClearQueryCache("Nodes");

            IList rootNodes = base.CoreRepository.GetRootNodes(this.ActiveNode.Site);
            this.ActiveNode.Move(rootNodes, npm);
            this.CoreRepository.FlushSession();
            Context.Response.Redirect(Context.Request.RawUrl);
        }
コード例 #6
0
ファイル: NodeEdit.aspx.cs プロジェクト: constructor/Cuyahoga
        private void MoveNode(NodePositionMovement npm)
        {
            _commonDao.RemoveQueryFromCache("Nodes");
            IList<Node> rootNodes = NodeService.GetRootNodes(this.ActiveNode.Site);

            this.ActiveNode.Move(rootNodes, npm);
            _commonDao.Flush();

            Context.Response.Redirect(Context.Request.RawUrl);
        }