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;
            }
        }
Exemple #2
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);
    }
Exemple #3
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;
            }
        }
Exemple #4
0
    public void AjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
    {
        string[]    args    = e.Argument.Replace("\r\n", "\n").Split('\n');
        RadTreeView srcTree = null;
        RadTreeView dstTree = null;

        if (TreeResources.ClientID.Equals(args[0]))
        {
            srcTree = TreeResources;
        }
        else if (TreeResources.ClientID.Equals(args[0]))
        {
            srcTree = TreeResources;
        }

        if (TreeResources.ClientID.Equals(args[1]))
        {
            dstTree = TreeResources;
        }
        else if (TreeResources.ClientID.Equals(args[1]))
        {
            dstTree = TreeResources;
        }

        RadTreeNode sourceNode = srcTree.FindNodeByText(args[2]);
        RadTreeNode destNode   = dstTree.FindNodeByText(args[3]);

        //if (sourceNode.Parent == null)
        //{
        //    RadAjaxManager1.Alert("گره اصلی قابل حذف نیست");
        //    return;
        //}
        RadTreeNode tempNode = destNode;

        while (tempNode != null)
        {
            if (!tempNode.Equals(sourceNode))
            {
                tempNode = tempNode.ParentNode;
            }
            else
            {
                break;
            }
        }
        if (tempNode != null)
        {
            //RadAjaxManager1.Alert("نمیتوان یک گره را به فرزندانش منتقل کرد");
            return;
        }

        BOLResources ResourcesBOl = new BOLResources();

        ResourcesBOl.Code       = Convert.ToInt32(sourceNode.Value);
        ResourcesBOl.MasterCode = Convert.ToInt32(destNode.Value);
        ResourcesBOl.Name       = sourceNode.Text;
        ResourcesBOl.SaveChanges(false);

        RadTreeNode newNode = new RadTreeNode(sourceNode.Text, sourceNode.Value);

        AddChilds(newNode, sourceNode);
        destNode.Nodes.Add(newNode);
        destNode.ExpandChildNodes();
        if (!sourceNode.Equals(srcTree.Nodes[0]))
        {
            sourceNode.Remove();
        }
    }
Exemple #5
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";
            }
        }
Exemple #6
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;
            }
        }
        private static 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;
            }
        }