Exemple #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);
        }
Exemple #2
0
        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (ActiveNode.Sections.Count > 0)
            {
                ShowError(
                    "Không thể xóa nút khi có các vùng phân hệ trong nó. Hãy xóa hoặc tạm gỡ toàn bộ các vùng này trước.");
            }
            else if (ActiveNode.ChildNodes.Count > 0)
            {
                ShowError("Không thể xóa nút khi còn các nút con. Hãy xóa hết các nút con trước.");
            }
            else
            {
                try
                {
                    CoreRepository.ClearQueryCache("Nodes");

                    bool hasParentNode = (ActiveNode.ParentNode != null);
                    if (hasParentNode)
                    {
                        ActiveNode.ParentNode.ChildNodes.Remove(ActiveNode);
                    }
                    else
                    {
                        IList rootNodes = CoreRepository.GetRootNodes(ActiveNode.Site);
                        rootNodes.Remove(ActiveNode);
                    }
                    CoreRepository.DeleteNode(ActiveNode);
                    // Reset the position of the 'neighbour' nodes.
                    if (ActiveNode.Level == 0)
                    {
                        ActiveNode.ReOrderNodePositions(CoreRepository.GetRootNodes(ActiveNode.Site),
                                                        ActiveNode.Position);
                    }
                    else
                    {
                        ActiveNode.ReOrderNodePositions(ActiveNode.ParentNode.ChildNodes, ActiveNode.Position);
                    }
                    CoreRepository.FlushSession();
                    if (hasParentNode)
                    {
                        Context.Response.Redirect(String.Format("NodeEdit.aspx?NodeId={0}", ActiveNode.ParentNode.Id));
                    }
                    else
                    {
                        Context.Response.Redirect("Default.aspx");
                    }
                }
                catch (Exception ex)
                {
                    ShowError(ex.Message);
                    log.Error(String.Format("Có lỗi khi xóa nút: {0}.", ActiveNode.Id), ex);
                }
            }
        }
Exemple #3
0
        private void SaveNode()
        {
            CoreRepository.ClearQueryCache("Nodes");

            if (ActiveNode.Id > 0)
            {
                CoreRepository.UpdateNode(ActiveNode
                                          , chkPropagateToChildNodes.Checked
                                          , chkPropagateToSections.Checked);
            }
            else
            {
                IList rootNodes = CoreRepository.GetRootNodes(ActiveNode.Site);
                ActiveNode.CalculateNewPosition(rootNodes);
                // Add node to the parent node's ChildNodes first
                if (ActiveNode.ParentNode != null)
                {
                    ActiveNode.ParentNode.ChildNodes.Add(ActiveNode);
                }
                CoreRepository.SaveObject(ActiveNode);
                Context.Response.Redirect(String.Format("NodeEdit.aspx?NodeId={0}&message=Node created sucessfully",
                                                        ActiveNode.Id));
            }
        }