public Class_progettiTreni Remove(Class_progettoTreno progettoTreno) { mainContainer.Children.Remove(list_progettiTreni.Last().userControl); list_progettiTreni.Remove(progettoTreno); return(this); }
public void NewDeselectionEvent(Class_progettoTreno progettoTreno) { if (Debug) { MessageBox.Show("nuova deselezione: " + progettoTreno.NomeProgetto); } list_selectedProgetti.Remove(progettoTreno); EventNewDeselection(progettoTreno); }
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); } }
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); }
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; } }
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); }
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; }