private void CheckBoxClicked(object sender, RoutedEventArgs e) { Tram.IsChecked = Bus.IsChecked = Metro.IsChecked = Rail.IsChecked = Other.IsChecked = false; CheckBox checkBoxHandler = sender as CheckBox; checkBoxHandler.IsChecked = true; string selectedTypeOfRouteName = checkBoxHandler.Name; if (checkBoxHandler.Name == "Other") { selectedTypeOfRouteName = OtherTypes.SelectedValue.ToString(); } routesSigns.TryGetValue(selectedTypeOfRouteName, out typeOfRoute); isTypeServiceClicked = true; if (typeOfRoute == null) { Tram.IsChecked = Bus.IsChecked = Metro.IsChecked = Rail.IsChecked = Other.IsChecked = false; Interfejs.Message successMessage = new Interfejs.Message(this, "Problem", "Błąd z rozpoznaniem rodzaju transportu"); successMessage.Owner = this; successMessage.Show(); successMessage.Topmost = true; GenerateGTFS.IsEnabled = true; isTypeServiceClicked = false; } }
private void GenerateServicesList_Click(object sender, RoutedEventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); openFileDialog.Title = "Wybierz plik z którego mam pobrać typy serwisów"; openFileDialog.Filter = "Pliki Excel|*.xlsx"; openFileDialog.FilterIndex = 1; openFileDialog.RestoreDirectory = true; Nullable <bool> dialogResult = openFileDialog.ShowDialog(); if (dialogResult == true) { try { Program.MakeServicesListFile(openFileDialog.FileName); Interfejs.Message successMessage = new Interfejs.Message(this, "Gratuluje", "Plik z listą typów serwisów został utworzony"); successMessage.Owner = this; successMessage.Show(); successMessage.Topmost = true; } catch (Exception ex) { if (ex.GetType() != typeof(GhostCellsException)) { Interfejs.Message successMessage = new Interfejs.Message(this, "Błąd #04", "Najprawopodobniej wybrany plik nie jest zgodny z wymaganą strukturą"); successMessage.Owner = this; successMessage.Show(); successMessage.Topmost = true; } } } }
private void ChooseTimetableFile_Click(object sender, RoutedEventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); openFileDialog.Filter = "Pliki Excel|*.xlsx"; openFileDialog.FilterIndex = 1; openFileDialog.RestoreDirectory = true; Nullable <bool> dialogResult = openFileDialog.ShowDialog(); if (dialogResult == true) { TimetablePath.Text = openFileDialog.FileName; timetableFilePath = openFileDialog.FileName; } if (IsStopsFileAdded() && IsTimetableFileAdded()) { if (Program.TestFormulasInTimeTable()) { try { bool AreStopsMatched = Program.CheckStopsMatching(actualWindow); ShowStopsMatching(AreStopsMatched); if (AreStopsMatched) { ServicesListBox.Items.Clear(); ShowServicesMatching(Program.CheckServicesMatching(actualWindow));////////////////////////////////////////////////////////////////////////// ShowServices(); } } catch { Interfejs.Message successMessage = new Interfejs.Message(this, "Błąd", "Sprawdź zgodność wybranych plików z wymaganą strukturą"); successMessage.Owner = this; successMessage.Show(); successMessage.Topmost = true; ClearUI(); } } //else //{ // Interfejs.Message successMessage = new Interfejs.Message(this, "Uwaga", "Wybrany rozkład zawiera komórki które mają błędne formatowanie. Zmień formuły zawierające czasy na typ 'GG:MM'"); // successMessage.Owner = this; // successMessage.Show(); // successMessage.Topmost = true; // ClearUI(false); //} } }
private void StopsMatchingFlag_Click(object sender, RoutedEventArgs e) { if (StopsMatchingFlag.Background == Brushes.Red) { Interfejs.Message successMessage = new Interfejs.Message(this, "Ostrzeżenie", "Pobrałem przystanki z pliku, oraz wszystkie z arkusza, niestety nie ma między nimi pełnej zgodności. Za chwilę urchomi się plik z listą niesparowanych przystanków. Sprawdz też zgodność z schematem"); successMessage.Owner = this; successMessage.Show(); successMessage.Topmost = true; Task.Delay(3000); System.Diagnostics.Process.Start("stops_NoMatch.txt"); // mb change because of autoinrement } else { Interfejs.Message successMessage = new Interfejs.Message(this, "Poprawnie", "Przystanki w pełni się pokrywają, możesz kontynuować :)"); successMessage.Owner = this; successMessage.Show(); successMessage.Topmost = true; } }
private void AddNewService_Click(object sender, RoutedEventArgs e) { if (!IsServicesDictioranyContainingKey(ServiceSymbol.Text) && !IsServicesDictioranyContainingValue(ServiceFullName.Text)) { servicesDictionary.Add(ServiceSymbol.Text, ServiceFullName.Text); ServicesListBox.Items.Add(ServiceSymbol.Text + " = " + ServiceFullName.Text); if (noMatchServices.Contains(ServiceSymbol.Text)) { noMatchServices.Remove(ServiceSymbol.Text); NewCalendar newCalendar = new NewCalendar(actualWindow, ServiceFullName.Text, noMatchServices.Count); newCalendar.Owner = this; newCalendar.Show(); newCalendar.Topmost = true; } } else { Interfejs.Message successMessage = new Interfejs.Message(this, "Potwórzenie", "Taki symbol, lub pełna nazwa juz została wprowadzona"); successMessage.Owner = this; successMessage.Show(); successMessage.Topmost = true; } }
public void ShowServicesMatching(bool IsAllMatched) { if (IsAllMatched) { // pozwala generować GTFSa Interfejs.Message successMessage = new Interfejs.Message(this, "Informacja", "Wszystko się pokrywa, możesz generować pliki GTFS"); successMessage.Owner = this; successMessage.Show(); successMessage.Topmost = true; GenerateGTFS.IsEnabled = true; AddNewService.IsEnabled = false; } else { GenerateGTFS.IsEnabled = false; AddNewService.IsEnabled = true; Interfejs.Message successMessage = new Interfejs.Message(this, "Niespójność", "Rodzaje kursów pobranych z poszczególnych arkuszów z rozkładu nie pokrywają się z tymi z arkusza 'Services'. Za chwilę uruchomi się plik z listą nieoznaczonych rodzajów kursów. Wprowadź ręcznie"); successMessage.Owner = this; successMessage.Show(); successMessage.Topmost = true; Task.Delay(3000); System.Diagnostics.Process.Start("services_NoMatch.txt"); // mb change because of autoinrement } }
private async void GenerateGTFS_Click(object sender, RoutedEventArgs e) { Agency agency = new Agency(currentDirectory + @"\GTFS"); Program.MakeAgencyTXT(); Stop_time stopTime = new Stop_time(currentDirectory + @"\GTFS"); Trip trip = new Trip(currentDirectory + @"\GTFS"); WaitingWindow waitingWindow = new WaitingWindow(actualWindow); waitingWindow.Owner = this; waitingWindow.Show(); bool response = await Program.MakeAsyncTripsnStopTimes(); BlockMainWindow(false); waitingWindow.Close(); if (response) { SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "Pliki ZIP|*.zip"; saveFileDialog.FilterIndex = 1; saveFileDialog.RestoreDirectory = true; saveFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); string year = DateTime.Now.Date.ToString().Remove(5); string month = DateTime.Now.Date.ToString().Remove(8).Remove(0, 5); string day = DateTime.Now.Date.ToString().Remove(10).Remove(0, 8); saveFileDialog.FileName = CityName.Text.ToLower().Replace(' ', '-') + "-" + year + month + day + ".zip"; saveFileDialog.DefaultExt = "zip"; Nullable <bool> dialogResult = saveFileDialog.ShowDialog(); if (dialogResult == true) { try { if (File.Exists(saveFileDialog.FileName)) { File.Delete(saveFileDialog.FileName); } ZipFile.CreateFromDirectory(currentDirectory + @"\GTFS", (saveFileDialog.FileName)); Interfejs.Message successMessage = new Interfejs.Message(this, "Gratuluję", "Udało się pomyślnie wytworzyć pliki GTFS oraz spakować je do ZIP-a."); successMessage.Owner = this; successMessage.Show(); successMessage.Topmost = true; ClearUI(); string path = currentDirectory + @"\validation.bat"; if (File.Exists(path)) { File.Delete(path); //del existing one } using (FileStream fs = File.Create(path)) // now create new { Byte[] text = new UTF8Encoding(true).GetBytes(@"start """" /B fv.exe """ + saveFileDialog.FileName + @""""); fs.Write(text, 0, text.Length); } System.Diagnostics.Process.Start("validation.bat"); } catch { Interfejs.Message successMessage = new Interfejs.Message(this, "Błąd #02", "Nie udało się wytworzyć plików GTFS. Sprawdź zgodność Twoich plików z wymaganymi schematami. Zamknij pliki robocze z rozkładami i przystankami."); successMessage.Owner = this; successMessage.Show(); successMessage.Topmost = true; ClearUI(false); } } } else { Interfejs.Message successMessage = new Interfejs.Message(this, "Błąd #01", "Nie udało się wytworzyć plików GTFS. Sprawdź zgodność Twoich plików z wymaganymi schematami. Zamknij pliki robocze z rozkładami i przystankami."); successMessage.Owner = this; successMessage.Show(); successMessage.Topmost = true; ClearUI(false); } }