示例#1
0
        /// <summary>
        /// Modifica il nodo selezionato.
        /// </summary>
        /// <param name="TreeView">L'albero dove cercare il nodo selezionato.</param></param>
        public TreeNode ModificaNodo(TreeView TreeView)
        {
            bool       IsRadice    = false;
            Componente CompVecchio = DistintaBase.TreeNodeToNode(TreeView.SelectedNode);

            if (TreeView.SelectedNode.Parent == null)
            {
                IsRadice = true;
            }
            Form2_NewNode Form2 = new Form2_NewNode(CompVecchio, TuttiComponenti(), IsRadice);

            Form2.ShowDialog();
            Componente        NewComp = Form2.Nodo;
            List <Componente> nodi    = DistintaBase.Nodi();

            NewComp = Componente.DeepClone(NewComp);
            if (NewComp == null)
            {
                return(null);
            }
            if (ControllaCodice(NewComp, CompVecchio, Componenti()))
            {
                if (nodi.Count == 1)
                {
                    DistintaBase.Albero = NewComp;
                    return(DistintaBase.NodeToTreeNode(DistintaBase.Albero));
                }
                else
                {
                    if (!(TreeView.SelectedNode.Parent == null))
                    {
                        Componente CompPadre = DistintaBase.TreeNodeToNode(TreeView.SelectedNode.Parent);
                        ModificaComponente(NewComp, CompVecchio, CompPadre, DistintaBase.Albero);
                    }
                    else
                    {
                        NewComp.SottoNodi   = CompVecchio.SottoNodi;
                        DistintaBase.Albero = NewComp;
                    }
                }
            }
            else
            {
                MessageBox.Show("Il componente ha codice uguale a un componente presente nel programma sebbene non siano lo stesso componente.\nLe modifiche non verranno appliccate", "Distinta Base", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(null);
            }
            return(DistintaBase.NodeToTreeNode(NewComp));
        }
示例#2
0
        /// <summary>
        /// Modifica il componente selezionato.
        /// </summary>
        /// <param name="Componente">Il componente da modificare.</param>
        /// <param name="Componenti">La lista di tutti i componenti.</param>
        /// <returns></returns>
        public Componente Modifica(Componente Componente, List <Componente> Componenti)
        {
            Form2_NewNode Form2 = new Form2_NewNode(Componente, Componenti, true);

            Form2.ShowDialog();
            Componente ComponenteForm = Form2.Nodo;

            while (ComponenteForm == null)
            {
                if (!Form2.Attendo)
                {
                    return(null);
                }
            }
            return(Componente.DeepClone <Componente>(ComponenteForm));
        }
示例#3
0
        // Metodi Generali---------------------------------------------------------------


        /// <summary>
        /// Apre la finestra di creazione della materia prima. Creata quest'ultima, ritorno il componente creato.
        /// </summary>
        /// <param name="Componenti">La lista di tutti i componenti.</param>
        /// <returns></returns>
        public Componente AggiungiMateriaPrima(List <Componente> Componenti, bool IsCatalogoOrRoot)
        {
            Form2_NewNode form2 = new Form2_NewNode(new Componente(), Componenti, IsCatalogoOrRoot);

            form2.ShowDialog();
            Componente Componente = form2.Nodo;

            while (Componente == null)
            {
                if (!form2.Attendo)
                {
                    return(null);
                }
            }
            return(Componente);
        }