Example #1
0
        public Class_progettiTreni Remove(Class_progettoTreno progettoTreno)
        {
            mainContainer.Children.Remove(list_progettiTreni.Last().userControl);
            list_progettiTreni.Remove(progettoTreno);

            return(this);
        }
Example #2
0
        public void NewDeselectionEvent(Class_progettoTreno progettoTreno)
        {
            if (Debug)
            {
                MessageBox.Show("nuova deselezione: " + progettoTreno.NomeProgetto);
            }

            list_selectedProgetti.Remove(progettoTreno);
            EventNewDeselection(progettoTreno);
        }
Example #3
0
 private void NewDeselectionEvent(Class_progettoTreno sender)
 {
     if (binari.list_selectedProgetti.Count >= MinimoSelezionari)
     {
         comando.SetAcceptInvio = true;
     }
     else
     {
         comando.SetAcceptInvio = false;
     }
 }
        private void SalvaStatoCorrente()
        {
            COPY_pSelezionato.DataInizio = ((UserControl_progettoTreno)Grid_progettoSelezionato.Children[0]).thisProgetto.DataInizio;
            COPY_pSelezionato.DataFine   = ((UserControl_progettoTreno)Grid_progettoSelezionato.Children[0]).thisProgetto.DataFine;

            foreach (UIElement x in Grid_progettiCollidenti.Children)
            {
                Class_progettoTreno temporanCopy = new Class_progettoTreno();
                temporanCopy.DataInizio = ((UserControl_progettoTreno)x).thisProgetto.DataInizio;
                temporanCopy.DataFine   = ((UserControl_progettoTreno)x).thisProgetto.DataFine;
                COPY_pCollidenti.Add(temporanCopy);
            }
        }
Example #5
0
        public Class_progettiTreni Add(Class_progettoTreno progettoTreno)
        {
            progettoTreno.zIndex             = count_zIndex--;
            progettoTreno.userControl.Margin = new Thickness(0, count_margin, 0, 0);
            count_margin += space_margin;
            progettoTreno.userControl.RemoveEvent += RemoveEvent;
            progettoTreno.userControl.UpdateEvent += UpdateEvent;

            progettoTreno.thisProgettiTreni = this;

            list_progettiTreni.Add(progettoTreno);
            mainContainer.Children.Add(list_progettiTreni.Last().userControl);

            FindConflitti();

            return(this);
        }
Example #6
0
        private void Button_conflitto_Click(object sender, RoutedEventArgs e)
        {
            Window_conflitto window_Conflitto = new Window_conflitto();

            Class_progettoTreno progettoCorrente = DuplicateProgetto(thisProgetto, true);

            window_Conflitto.Grid_progettoSelezionato.Children.Add(progettoCorrente.userControl);

            int currentMargin = 0;

            for (int i = 0; i < thisProgetto.collisioni.progettiCollidenti.Count; i++)
            {
                Class_progettoTreno pCollidente = DuplicateProgetto(thisProgetto.collisioni.progettiCollidenti[i], true);
                pCollidente.userControl.Margin = new Thickness(currentMargin, 0, 0, 0);
                window_Conflitto.Grid_progettiCollidenti.Children.Add(pCollidente.userControl);

                currentMargin += LeftMarginProgettiCollidenti;
            }
            window_Conflitto.TextBlock_npCollidenti.Text = "Progetti collidenti: (" + window_Conflitto.Grid_progettiCollidenti.Children.Count + ")";

            window_Conflitto.ShowDialog();

            if (window_Conflitto.ButtonClicked == "conferma")
            {
                //Recuperare modifiche progetti collidenti (ciclare al contrario).
                for (int i = window_Conflitto.Grid_progettiCollidenti.Children.Count - 1; i >= 0; i--)
                {
                    thisProgetto.collisioni.progettiCollidenti[i].NomeProgetto = ((UserControl_progettoTreno)window_Conflitto.Grid_progettiCollidenti.Children[i]).thisProgetto.NomeProgetto;
                    thisProgetto.collisioni.progettiCollidenti[i].Colore       = ((UserControl_progettoTreno)window_Conflitto.Grid_progettiCollidenti.Children[i]).thisProgetto.Colore;
                    thisProgetto.collisioni.progettiCollidenti[i].Commenti     = ((UserControl_progettoTreno)window_Conflitto.Grid_progettiCollidenti.Children[i]).thisProgetto.Commenti;
                    thisProgetto.collisioni.progettiCollidenti[i].DataFine     = ((UserControl_progettoTreno)window_Conflitto.Grid_progettiCollidenti.Children[i]).thisProgetto.DataFine;
                    thisProgetto.collisioni.progettiCollidenti[i].DataInizio   = ((UserControl_progettoTreno)window_Conflitto.Grid_progettiCollidenti.Children[i]).thisProgetto.DataInizio;
                }

                //Recuperare e salvare le modifiche (effettuare dopo le modifiche ai collidenti).
                thisProgetto.Colore       = ((UserControl_progettoTreno)window_Conflitto.Grid_progettoSelezionato.Children[0]).thisProgetto.Colore;
                thisProgetto.Commenti     = ((UserControl_progettoTreno)window_Conflitto.Grid_progettoSelezionato.Children[0]).thisProgetto.Commenti;
                thisProgetto.DataFine     = ((UserControl_progettoTreno)window_Conflitto.Grid_progettoSelezionato.Children[0]).thisProgetto.DataFine;
                thisProgetto.DataInizio   = ((UserControl_progettoTreno)window_Conflitto.Grid_progettoSelezionato.Children[0]).thisProgetto.DataInizio;
                thisProgetto.NomeProgetto = ((UserControl_progettoTreno)window_Conflitto.Grid_progettoSelezionato.Children[0]).thisProgetto.NomeProgetto;
            }
        }
Example #7
0
        private Class_progettoTreno DuplicateProgetto(Class_progettoTreno progettoTreno, bool anteprima = false)
        {
            Class_progettoTreno newProgetto = new Class_progettoTreno();

            newProgetto.Collide            = progettoTreno.Collide;
            newProgetto.collisioni         = progettoTreno.collisioni;
            newProgetto.Colore             = progettoTreno.Colore;
            newProgetto.Commenti           = progettoTreno.Commenti;
            newProgetto.DataFine           = progettoTreno.DataFine;
            newProgetto.DataInizio         = progettoTreno.DataInizio;
            newProgetto.NomeProgetto       = progettoTreno.NomeProgetto;
            newProgetto.zIndex             = progettoTreno.zIndex;
            newProgetto.thisProgettiTreni  = progettoTreno.thisProgettiTreni;
            newProgetto.DimensioneProgetto = progettoTreno.DimensioneProgetto;

            if (anteprima)
            {
                newProgetto.userControl.SetAnteprima();
            }

            return(newProgetto);
        }
Example #8
0
        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            try
            {
                List <string> importFileLines = FileMenager.ReadFileLines(FileMenager.SelectFile(new string[] { "CSV ", "Text" }, new string[] { "csv ", "txt" }));

                List <string> binariStringa = importFileLines[0].Replace("Calendario;", "").Split(';').ToList();

                List <string> nomiBinari       = new List <string>();
                List <string> dimensioneBinari = new List <string>();
                List <string> commentiBinari   = new List <string>();

                binariStringa.ForEach(x =>
                {
                    nomiBinari.Add(x.Split('(')[0].Split('{')[0]);

                    if (x.Contains("(") && x.Contains("}"))
                    {
                        commentiBinari.Add(x.Split('(')[1].Split(')')[0]);
                        dimensioneBinari.Add(x.Split('{')[1].Split('}')[0]);
                    }
                    else if (x.Contains("("))
                    {
                        commentiBinari.Add(x.Split('(')[1].Split(')')[0]);
                    }
                    else if (x.Contains("{"))
                    {
                        dimensioneBinari.Add(x.Split('{')[1].Split('}')[0]);
                    }

                    if (!x.Contains("{"))
                    {
                        dimensioneBinari.Add(null);
                    }
                });

                binari.RemoveAll();
                binari = new Class_binari(Grid_scrollOrizzontale);

                for (int i = 0; i < binariStringa.Count; i++)
                {
                    if (binariStringa[i] != "" && binariStringa[i] != " ")
                    {
                        Class_binario binario = new Class_binario();
                        binario.NomeBinario = nomiBinari[i].Split('{')[0];

                        if (dimensioneBinari.Count > i && dimensioneBinari[i] != null)
                        {
                            binario.userControl.UtilizzareMisure  = true;
                            binario.userControl.DimensioneBinario = Convert.ToInt32(dimensioneBinari[i].Replace("m", ""));
                        }
                        if (commentiBinari.Count > i)
                        {
                            binario.userControl.Commenti = commentiBinari[i];
                        }

                        binari.Add(binario);

                        //Ciclo lines per progetti
                        bool            enter             = false;
                        List <string>   listNomePMultipli = new List <string>();
                        List <DateTime> listDataPMultipli = new List <DateTime>();

                        for (int j = 1; j < importFileLines.Count; j++)
                        {
                            if (importFileLines[j].Replace(";", "").Replace("\n", "") != "" && importFileLines[j].Replace(";", "").Replace("\n", "") != " " && i + 1 < importFileLines[j].Split(';').Length)
                            {
                                string progettoStringa = importFileLines[j].Split(';')[i + 1];

                                if (progettoStringa.Replace(";", "").Replace("\n", "") != "" && progettoStringa.Replace(";", "").Replace("\n", "") != " ")
                                {
                                    if (!enter)
                                    {
                                        Class_progettoTreno progettoTreno = new Class_progettoTreno();

                                        progettoTreno.NomeProgetto = progettoStringa.Split('(')[0].Split('{')[0];

                                        if (progettoStringa.Contains("{") && dimensioneBinari.Count > i && dimensioneBinari[i] != null)
                                        {
                                            progettoTreno.DimensioneProgetto = Convert.ToInt32(progettoStringa.Split('{')[1].Split('}')[0].Replace("m", ""));

                                            if (progettoTreno.DimensioneProgetto > 0)
                                            {
                                                progettoTreno.userControl.SetAvviso = null;
                                            }
                                        }

                                        if (progettoStringa.Contains("("))
                                        {
                                            progettoTreno.Commenti = progettoStringa.Split('(')[1].Split(')')[0];
                                        }

                                        if (progettoStringa.Contains("["))
                                        {
                                            progettoTreno.Colore = progettoStringa.Split('[')[1].Split(']')[0];
                                        }

                                        progettoTreno.DataInizio = Convert.ToDateTime(importFileLines[j].Split(';')[0]);
                                        binari.list_binari[i].progettiTreni.Add(progettoTreno);

                                        if (progettoStringa.Contains("/"))
                                        {
                                            //Gestione progetti multipli

                                            listNomePMultipli.Add(progettoStringa.Split('/')[1].Split('(')[0].Split('{')[0].Split('[')[0]);
                                            listDataPMultipli.Add(progettoTreno.DataInizio);
                                        }
                                    }
                                    else
                                    {
                                        enter = false;

                                        DateTime dataFine = new DateTime();
                                        int      index    = listNomePMultipli.FindIndex((x) => x == binari.list_binari[i].progettiTreni.list_progettiTreni.Last().NomeProgetto);
                                        if (index > 0)
                                        {
                                            dataFine = listDataPMultipli[index];
                                        }
                                        else
                                        {
                                            dataFine = Convert.ToDateTime(importFileLines[j].Split(';')[0]);
                                        }

                                        if (dataFine >= binari.list_binari[i].progettiTreni.list_progettiTreni.Last().DataInizio)
                                        {
                                            binari.list_binari[i].progettiTreni.list_progettiTreni.Last().DataFine = dataFine;
                                        }
                                        else
                                        {
                                            binari.list_binari[i].progettiTreni.list_progettiTreni.Last().DataFine = binari.list_binari[i].progettiTreni.list_progettiTreni.Last().DataInizio;
                                        }
                                    }

                                    if (j + 1 < importFileLines.Count && importFileLines[j + 1] != "" && importFileLines[j + 1] != " ")
                                    {
                                        try
                                        {
                                            if (importFileLines[j + 1].Split(';')[i + 1].Split('(')[0] == progettoStringa.Split('(')[0])
                                            {
                                                enter = true;
                                            }
                                        }
                                        catch { enter = false; }
                                    }
                                }
                            }
                        }
                    }
                }

                binari.list_binari.ForEach(x => x.progettiTreni.list_progettiTreni.ForEach(z => { if (Convert.ToInt32(z.Durata) < 0)
                                                                                                  {
                                                                                                      z.DataFine = z.DataInizio;
                                                                                                  }
                                                                                           }));
            }
            catch (Exception ex) { MessageBox.Show("Errore durante l'importazione:\n" + ex.Message); }
        }
 public Class_progettoCollisione(Class_progettoTreno soggetto)
 {
     this.soggetto = soggetto;
 }