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(); }
private void AddBinario_Click(object sender, RoutedEventArgs e) { binari.Add(new Class_binario()); binari.list_binari.Last().NomeBinario = "Binario " + binari.list_binari.Count; }
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); } }