Ejemplo n.º 1
0
    private void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode, RadTreeNode destNode)
    {
        if (sourceNode.Equals(destNode) || sourceNode.IsAncestorOf(destNode))
        {
            return;
        }
        sourceNode.Owner.Nodes.Remove(sourceNode);

        switch (dropPosition)
        {
        case RadTreeViewDropPosition.Over:
            // child
            if (!sourceNode.IsAncestorOf(destNode))
            {
                destNode.Nodes.Add(sourceNode);
            }
            break;

        case RadTreeViewDropPosition.Above:
            // sibling - above
            destNode.InsertBefore(sourceNode);
            break;

        case RadTreeViewDropPosition.Below:
            // sibling - below
            destNode.InsertAfter(sourceNode);
            break;
        }
        BOLResources ResourcesBOl = new BOLResources();

        ResourcesBOl.Code       = Convert.ToInt32(sourceNode.Value);
        ResourcesBOl.MasterCode = Convert.ToInt32(destNode.Value);
        ResourcesBOl.Name       = sourceNode.Text;
        ResourcesBOl.SaveChanges(false);
    }
Ejemplo n.º 2
0
        /// <summary>
        /// Performs the drag and drop.
        /// </summary>
        /// <param name="dropPosition">The drop position.</param>
        /// <param name="sourceNode">The source node.</param>
        /// <param name="destNode">The dest node.</param>
        private static void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode, RadTreeNode destNode)
        {
            switch (dropPosition)
            {
            case RadTreeViewDropPosition.Over:
                // child
                if (!sourceNode.IsAncestorOf(destNode) && ((destNode.Level == 1 && sourceNode.Level == 2) || (destNode.Level == 0 && sourceNode.Level == 1)))
                {
                    sourceNode.Owner.Nodes.Remove(sourceNode);
                    destNode.Nodes.Add(sourceNode);
                }
                break;

            case RadTreeViewDropPosition.Above:
                // sibling - above
                if ((destNode.Level == 1 && sourceNode.Level == 1) || (destNode.Level == 2 && sourceNode.Level == 2))
                {
                    sourceNode.Owner.Nodes.Remove(sourceNode);
                    destNode.InsertBefore(sourceNode);
                }
                break;

            case RadTreeViewDropPosition.Below:
                // sibling - below
                if ((destNode.Level == 1 && sourceNode.Level == 1) || (destNode.Level == 2 && sourceNode.Level == 2))
                {
                    sourceNode.Owner.Nodes.Remove(sourceNode);
                    destNode.InsertAfter(sourceNode);
                }
                break;
            }
        }
Ejemplo n.º 3
0
        private void MoveNode(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode, RadTreeNode destNode)
        {
            if (sourceNode == destNode || sourceNode.IsAncestorOf(destNode))
            {
                return;
            }

            sourceNode.Owner.Nodes.Remove(sourceNode);

            switch (dropPosition)
            {
                case RadTreeViewDropPosition.Over:
                    // child
                    if (!sourceNode.IsAncestorOf(destNode))
                    {
                        destNode.Nodes.Add(sourceNode);
                        destNode.Expanded = true;
                    }
                    break;

                case RadTreeViewDropPosition.Above:
                    // sibling - above                    
                    destNode.InsertBefore(sourceNode);
                    break;

                case RadTreeViewDropPosition.Below:
                    // sibling - below
                    destNode.InsertAfter(sourceNode);
                    break;
            }

            sourceNode.Selected = false;
        }
Ejemplo n.º 4
0
        private static void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode, RadTreeNode destNode)
        {
            if (sourceNode.Equals(destNode) || sourceNode.IsAncestorOf(destNode))
            {
                return;
            }

            if (destNode.ParentNode == null)
            {
                return;
            }

            sourceNode.Owner.Nodes.Remove(sourceNode);

            switch (dropPosition)
            {
            case RadTreeViewDropPosition.Over:
                // child
                if (!sourceNode.IsAncestorOf(destNode))
                {
                    destNode.Nodes.Add(sourceNode);
                }
                break;

            case RadTreeViewDropPosition.Above:
                // sibling - above
                destNode.InsertBefore(sourceNode);
                break;

            case RadTreeViewDropPosition.Below:
                // sibling - below
                destNode.InsertAfter(sourceNode);
                break;
            }
        }
Ejemplo n.º 5
0
        private void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode,
                                        RadTreeNode destNode)
        {
            if (sourceNode.Equals(destNode) || sourceNode.IsAncestorOf(destNode))
            {
                return;
            }

            // Check if destNote is Root when drop above and below it.
            if (dropPosition == RadTreeViewDropPosition.Above || dropPosition == RadTreeViewDropPosition.Below)
            {
                if (destNode.ParentNode == null)
                {
                    return;
                }
            }

            RadTreeNode srcNode = sourceNode.ParentNode;

            sourceNode.Owner.Nodes.Remove(sourceNode);

            switch (dropPosition)
            {
            case RadTreeViewDropPosition.Over:
                // child
                if (!sourceNode.IsAncestorOf(destNode))
                {
                    destNode.Nodes.Add(sourceNode);

                    // Update Database structure
                    Nexus.Core.Pages.SiteMenu.sEdit_Menu_Nodes(sourceNode.Value, destNode.Value);
                    Nexus.Core.Pages.SiteMenu.sEdit_Menu_Nodes(srcNode, destNode);
                }
                break;

            case RadTreeViewDropPosition.Above:

                // sibling - above
                destNode.InsertBefore(sourceNode);

                // Update Database structure
                Nexus.Core.Pages.SiteMenu.sEdit_Menu_Nodes(sourceNode.Value, destNode.ParentNode.Value);
                Nexus.Core.Pages.SiteMenu.sEdit_Menu_Nodes(srcNode, destNode.ParentNode);

                break;

            case RadTreeViewDropPosition.Below:

                // sibling - below
                destNode.InsertAfter(sourceNode);

                // Update Database structure
                Nexus.Core.Pages.SiteMenu.sEdit_Menu_Nodes(sourceNode.Value, destNode.ParentNode.Value);
                Nexus.Core.Pages.SiteMenu.sEdit_Menu_Nodes(srcNode, destNode.ParentNode);

                break;
            }
        }
Ejemplo n.º 6
0
        protected void treeCategories_HandleDrop(object sender, RadTreeNodeDragDropEventArgs e)
        {
            FAQsController          FAQsController = new FAQsController();
            RadTreeNode             sourceNode     = e.SourceDragNode;
            RadTreeNode             destNode       = e.DestDragNode;
            RadTreeViewDropPosition dropPosition   = e.DropPosition;

            if (destNode == null || sourceNode == destNode || sourceNode.IsAncestorOf(destNode))
            {
                return;
            }

            int          sourceFaqCategoryId = Convert.ToInt32(sourceNode.Value);
            CategoryInfo sourceCategory      = FAQsController.GetCategory(sourceFaqCategoryId);

            int          destFaqCategoryId = Convert.ToInt32(destNode.Value);
            CategoryInfo destCategory      = FAQsController.GetCategory(destFaqCategoryId);

            switch (dropPosition)
            {
            case RadTreeViewDropPosition.Over:                     // child
                // Change Treeview
                sourceNode.Owner.Nodes.Remove(sourceNode);
                destNode.Nodes.Add(sourceNode);

                // Change the ParentId of Source in database
                sourceCategory.FaqCategoryParentId = destCategory.FaqCategoryId;
                sourceCategory.ViewOrder           = 999;
                FAQsController.UpdateCategory(sourceCategory);
                break;

            case RadTreeViewDropPosition.Above:                     // sibling - above
                sourceNode.Owner.Nodes.Remove(sourceNode);
                destNode.InsertBefore(sourceNode);
                sourceCategory.FaqCategoryParentId = destCategory.FaqCategoryParentId;
                sourceCategory.ViewOrder           = destCategory.ViewOrder - 1;
                FAQsController.UpdateCategory(sourceCategory);

                break;

            case RadTreeViewDropPosition.Below:                     // sibling - below
                sourceNode.Owner.Nodes.Remove(sourceNode);
                destNode.InsertAfter(sourceNode);
                sourceCategory.FaqCategoryParentId = destCategory.FaqCategoryParentId;
                sourceCategory.ViewOrder           = destCategory.ViewOrder + 1;
                FAQsController.UpdateCategory(sourceCategory);
                break;
            }
            FAQsController.ReorderCategory(sourceCategory.FaqCategoryParentId, ModuleId);
            panelAddEdit.Visible = false;
        }
Ejemplo n.º 7
0
        private void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode, RadTreeNode destNode)
        {
            var tabController = new TabController();
            var sourceTab = tabController.GetTab(int.Parse(sourceNode.Value), PortalId, false);
            var targetTab = tabController.GetTab(int.Parse(destNode.Value), PortalId, false);

            switch (dropPosition)
            {
                case RadTreeViewDropPosition.Over:
                    if (!(sourceNode.IsAncestorOf(destNode)))
                    {
                        if (MoveTabToParent(sourceTab, targetTab))
                        {
                            sourceNode.Owner.Nodes.Remove(sourceNode);
                            destNode.Nodes.Add(sourceNode);
                        }
                    }
                    break;
                case RadTreeViewDropPosition.Above:
                    if (MoveTab(sourceTab, targetTab, Position.Above))
                    {
                        sourceNode.Owner.Nodes.Remove(sourceNode);
                        destNode.InsertBefore(sourceNode);
                    }
                    break;
                case RadTreeViewDropPosition.Below:
                    if (MoveTab(sourceTab, targetTab, Position.Below))
                    {
                        sourceNode.Owner.Nodes.Remove(sourceNode);
                        destNode.InsertAfter(sourceNode);
                    }
                    break;
            }
        }
Ejemplo n.º 8
0
        private void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode, RadTreeNode destNode)
        {
            if (sourceNode.Equals(destNode) || sourceNode.IsAncestorOf(destNode))
            {
                return;
            }
            sourceNode.Owner.Nodes.Remove(sourceNode);
            Guid currentNavId           = new Guid(hidCurrNavID.Value);
            CSBooster_DataContext csb   = new CSBooster_DataContext(Helper.GetSiemeConnectionString());
            var      navStructureRecord = csb.hisp_Navigation_GetNavigationStructureXML(currentNavId).SingleOrDefault();
            XElement xMoveNode          = null;
            XElement structDestNode     = null;
            XElement xmlStruct          = null;

            if (navStructureRecord != null)
            {
                xmlStruct = XElement.Parse(navStructureRecord.NST_XMLStruct);
                var nodeToRemove = (from theNodes in xmlStruct.Descendants("Node").Where(x => x.Attribute("Value").Value == sourceNode.Value)
                                    select theNodes).SingleOrDefault();
                structDestNode = (from theNodes in xmlStruct.Descendants("Node").Where(x => x.Attribute("Value").Value == destNode.Value)
                                  select theNodes).SingleOrDefault();
                if (nodeToRemove != null)
                {
                    xMoveNode = XElement.Parse(nodeToRemove.ToString());
                    nodeToRemove.Remove();
                }
            }
            if (xMoveNode != null)
            {
                switch (dropPosition)
                {
                case RadTreeViewDropPosition.Over:
                    // child
                    if (!sourceNode.IsAncestorOf(destNode))
                    {
                        destNode.Nodes.Add(sourceNode);
                        if (structDestNode != null)
                        {
                            structDestNode.Add(xMoveNode);
                        }
                        else
                        {
                            //droped to the root
                            xmlStruct.Add(xMoveNode);
                        }
                    }
                    break;

                case RadTreeViewDropPosition.Above:
                    // sibling - above
                    destNode.InsertBefore(sourceNode);
                    structDestNode.AddBeforeSelf(xMoveNode);
                    break;

                case RadTreeViewDropPosition.Below:
                    // sibling - below
                    destNode.InsertAfter(sourceNode);
                    structDestNode.AddAfterSelf(xMoveNode);
                    break;
                }
                sourceNode.ExpandParentNodes();
                csb.hisp_Navigation_SaveNavigationStructure(currentNavId, null, xmlStruct.ToString());
                lbtnG.Text     = language.GetString("TooltipNotSynchronized");
                lbtnG.CssClass = "icon navnotsynchro";
            }
        }
Ejemplo n.º 9
0
 private void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode, RadTreeNode destNode)
 {
     switch (dropPosition)
     {
         case RadTreeViewDropPosition.Over:
             // child
             if (!sourceNode.IsAncestorOf(destNode))
             {
                 sourceNode.Owner.Nodes.Remove(sourceNode);
                 destNode.Nodes.Add(sourceNode);
             }
             break;
         case RadTreeViewDropPosition.Above:
             // sibling - above
             sourceNode.Owner.Nodes.Remove(sourceNode);
             destNode.InsertBefore(sourceNode);
             break;
         case RadTreeViewDropPosition.Below:
             // sibling - below
             sourceNode.Owner.Nodes.Remove(sourceNode);
             destNode.InsertAfter(sourceNode);
             break;
     }
 }
Ejemplo n.º 10
0
        public void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode,
                                               RadTreeNode destNode)
        {
            if (sourceNode.Equals(destNode) || sourceNode.IsAncestorOf(destNode))
            {
                return;
            }
            //Do not remove relation here.
            //sourceNode.Owner.Nodes.Remove(sourceNode);

            var shareHolders = new ShareHolders();
            bool validation = false;
            switch (dropPosition)
            {
                case RadTreeViewDropPosition.Over:

                    validation = shareHolders.AddSubsidiary(destNode.Text, sourceNode.Text);
                    // child
                    if (!sourceNode.IsAncestorOf(destNode) && validation == true)
                    {
                        destNode.Nodes.Add(sourceNode);
                    }

                    IsUpdated = validation;
                    break;

                case RadTreeViewDropPosition.Above:

                    validation = shareHolders.AddSubsidiary(destNode.ParentNode.Text, sourceNode.Text);
                    // sibling - above	
                    if (validation == true)
                    {
                        destNode.InsertBefore(sourceNode);
                    }
                    IsUpdated = validation;
                    break;

                case RadTreeViewDropPosition.Below:

                    validation = shareHolders.AddSubsidiary(destNode.Text, sourceNode.Text);
                    // sibling - below
                    if (validation == true)
                    {
                        destNode.InsertAfter(sourceNode);
                    }

                    IsUpdated = validation;
                    break;
            }
        }