Beispiel #1
0
        public MainWindow()
        {
            Window windowLoading = new Window_loading();

            InitializeComponent();

            WindowStartupLocation = WindowStartupLocation.CenterScreen;

            binari = new Class_binari(Grid_scrollOrizzontale);
            binari.EventNewSelection   += NewSelectionEvent;
            binari.EventNewDeselection += NewDeselectionEvent;
            binari.Add(new Class_binario());

            comando = new Class_comando(this);

            windowLoading.ShowDialog();
        }
        public Window_visBinari(Class_binari dataToViw)
        {
            InitializeComponent();

            this.dataToViw = dataToViw;
        }
Beispiel #3
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); }
        }