コード例 #1
0
        private void showDeparture() //nächste Abfahrtszeiten der Station anzeigen
        {
            if (txtStart.Text != "" && txtStop.Text == "")
            {
                tabControl.SelectedIndex = 1;
            }
            try //sind Abfahrts- und Ankunftsstation leer --> exception bei staion.StationList[].id
            {
                Stations station = transport.GetStations(txtStart.Text);

                string id = station.StationList[0].Id;

                StationBoardRoot stationBoard = transport.GetStationBoard(txtStart.Text, id, Convert.ToString(datetimeConvert(datePicker.Value, timePicker.Value)));

                foreach (StationBoard board in stationBoard.Entries)
                {
                    var row = dataTableBoard.Rows.Add();

                    dataTableBoard.Rows[row].Cells[0].Value = txtStart.Text;
                    dataTableBoard.Rows[row].Cells[1].Value = board.Name;
                    dataTableBoard.Rows[row].Cells[2].Value = board.To;
                    dataTableBoard.Rows[row].Cells[3].Value = dateConvert(Convert.ToString(board.Stop.Departure));
                }
            }
            catch (Exception)
            {
            }
        }
コード例 #2
0
        //show departure table in the datagridview
        public void showDepartureTable()
        {
            //get the requested station and the appropriate stationboard
            String departurestation = lbox_stations.Items[0].ToString();

            tb_start.Text = departurestation;
            StationBoardRoot sbroot = route.GetStationBoard(departurestation, getDate() + getTime());

            Openmap(departurestation);

            //clear previous entries
            clearDGVEntries();

            //columns to display for the stationboard
            String[] stationboardcolumns = new String[] { "Abfahrt", "Nach", "Nummer", "Gleis", "Betreiber" };
            CreateDataGridViewColumns(stationboardcolumns);

            foreach (StationBoard sb in sbroot.Entries)
            {
                int row = addRowtoDataGridView();

                String[] stationboardproperties = new String[]
                {
                    sb.Stop.Departure.ToShortTimeString(),
                         sb.To,
                         sb.Number,
                         sb.Stop.Platform,
                         sb.Operator
                };

                FillDataGrid(stationboardproperties, row);
            }
        }
コード例 #3
0
        public ListViewItem[] GetStationBoard(string fromStation)
        {
            Stations         stations     = new Stations();
            StationBoardRoot stationBoard = null;

            stations = transport.GetStations(fromStation);
            string stationId = stations.StationList.First().Id;

            try
            {
                stationBoard = transport.GetStationBoard(fromStation, stationId);
            } catch { }

            ListViewItem[] stationListView = new ListViewItem[stationBoard.Entries.Count];
            int            i = 0;

            foreach (StationBoard item in stationBoard.Entries)
            {
                stationListView[i] = new ListViewItem(item.Name);
                stationListView[i].SubItems.Add(item.Stop.Departure.ToShortTimeString());
                stationListView[i].SubItems.Add(item.To);
                i++;
            }

            if (stationListView == null)
            {
                stationListView[0] = new ListViewItem("Keine Abfahrtstafel vorhanden");
            }

            return(stationListView);
        }
コード例 #4
0
        //StationBoard
        private void StationBoard(string StationName, ListView ListViewName)
        {
            ListViewName.Items.Clear();

            Station          station          = t.GetStations(StationName).StationList.First();
            StationBoardRoot stationBoardRoot = t.GetStationBoard(StationName, station.Id);

            foreach (StationBoard stationBoard in stationBoardRoot.Entries)
            {
                try
                {
                    ListViewItem listViewItem = new ListViewItem();
                    listViewItem.Text = stationBoard.Name;
                    listViewItem.SubItems.Add(stationBoard.Stop.Departure.ToShortTimeString());
                    listViewItem.SubItems.Add(stationBoard.To);
                    listViewItem.SubItems.Add(stationBoard.Operator);

                    ListViewName.Items.Add(listViewItem);
                }
                catch
                {
                    MessageBox.Show("Die Abfahrtstafel konnte nicht angezeigt werden.", "Caption", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
                }
            }
        }
コード例 #5
0
        private void getGridAbfahrtstafel()     //Grid für die Abfahrtstafel
        {
            try
            {
                DataTable routes = new DataTable();
                routes.Columns.Add("Zeit");
                routes.Columns.Add("Nach");
                routes.Columns.Add("Linie");

                //Definieren der Station für die Abfahrtstafel (Inhalt der Textbox wird übergeben)
                Station station = transport.GetStations(txtStation.Text).StationList.First();

                StationBoardRoot departures = transport.GetStationBoard(station.Name, station.Id); //Beispiel für station.name ist Luzern, Beispiel für station.Id = 8505000

                foreach (StationBoard station_b in departures.Entries)
                {
                    routes.Rows.Add(getTime(station_b.Stop.Departure.ToString()), station_b.To, (station_b.Category + " " + station_b.Number)); //Jede Linie die gefunden wird, wird hier durchgegangen
                }

                dgvAbfahrtstafel.DataSource = routes;
            }
            catch
            {
                MessageBox.Show("Geben sie einen Gültigen Wert ein!");    //Fehlermeldung wenn keine Werte in den TextBoxen sind
            }
        }
コード例 #6
0
ファイル: Form1.cs プロジェクト: staufer820/modul-318-student
        private void btnStation_Click(object sender, EventArgs e)
        {
            if (tbxStation.Text != "")
            {
                try
                {
                    dgvConnections.Rows.Clear();
                    StationBoardRoot station = transport.GetStationBoard(tbxStation.Text, "0");
                    if (station.Entries.Count != 0)
                    {
                        foreach (var con in station.Entries)
                        {
                            dgvConnections.Rows.Add(con.Name, con.Stop.Departure.ToString().Substring(11, 5), con.To);
                        }

                        lblVerbindungenVon.Text = "Verbindungen von " + tbxStation.Text;
                    }
                    else
                    {
                        MessageBox.Show("Keine Resultate");
                    }
                }
                catch
                {
                    MessageBox.Show("Bitte überprüfen Sie Ihre Eingaben");
                }
            }
            else
            {
                MessageBox.Show("Bitte Feld ausfüllen");
            }
            lbxTafel.Hide();
        }
コード例 #7
0
        // Schritt 1

        /* Eingabe von Start und Endstation ermöglicht den Button zu drücken,
         * es darf aber nicht vorher möglich sein. Fehlermeldung vielleicht mit rein? */

        // Schritt 2

        /* Start und Endstation werden abgeglichen und
         * es werden auf dem nexten Fenster die Verbindungen dazu gezeigt. */
        private void Suchen_btn_Click(object sender, EventArgs e)
        {
            // Variabeln
            // Zuerst Text von txt Start in eine variable speichern

            string Start = Start_txt.Text;

            // Zweitens Text von txt End in eine variable speichern
            string End = End_txt.Text;

            // Transpoort klassse instanzieren in ITransport
            ITransport t = new Transport();


            // Getconation aufrufen von der ITransport Klasse und in eine variable speichern
            Connections      c = t.GetConnections(Start, End);
            StationBoardRoot s = t.GetStationBoard(Start, "");
            // Nun werden den Variable dem neuen Fenster Verbindungen mitschicken
            Verbindungen v = new Verbindungen();

            v.Gesucht = c;
            v.Tafel   = s;
            // Hier wird das neue Fenster aufgerufen
            v.ShowDialog();
        }
コード例 #8
0
 /// <summary>
 /// Leert die Listview und stellt Verbindungen/Abfahrten dar.
 /// Wenn beide Textboxen befüllt wurden, werden Verbindungen gesucht.
 /// Wenn nur die Erste befüllt wurde, wird die Abfahrtstafel gesucht.
 /// </summary>
 private void Search_Click(object sender, EventArgs e)
 {
     MailContent = "";
     ConnectionsListView.Items.Clear();
     // Verbindungen suchen & darstellen
     if (StartStation.Text != "" && EndStation.Text != "")
     {
         Connections Connection = transport.GetConnections(SearchFrom, SearchTo, DatePicker.Value, TimePicker.Value, isArrivalTime);
         foreach (var item in Connection.ConnectionList)
         {
             ListViewItem i = new ListViewItem(item.From.Station.Name);
             i.SubItems.Add(item.To.Station.Name);
             i.SubItems.Add(DateTime.Parse(item.From.Departure).ToShortTimeString());
             i.SubItems.Add(DateTime.Parse(item.To.Arrival).ToShortTimeString());
             i.SubItems.Add(item.Duration.Substring(3));
             ConnectionsListView.Items.Add(i);
             MailContent = String.Format("{0}{1}Von: {2}; Nach: {3}; Abfahrt: {4}; Ankunft: {5}; Dauer: {6};",
                                         MailContent, Environment.NewLine, item.From.Station.Name, item.To.Station.Name, DateTime.Parse(item.From.Departure).ToShortTimeString(), DateTime.Parse(item.To.Arrival).ToShortTimeString(), item.Duration.Substring(3));
         }
     }
     // Abfahrten suchen & darstellen
     else if (StartStation.Text != "" && EndStation.Text == "")
     {
         StationBoardRoot StationBoard = transport.GetStationBoard(SearchFrom, DatePicker.Value, TimePicker.Value);
         foreach (var item in StationBoard.Entries)
         {
             ListViewItem i = new ListViewItem(item.Name);
             i.SubItems.Add(item.To);
             i.SubItems.Add(item.Stop.Departure.ToShortTimeString());
             i.SubItems.Add("");
             i.SubItems.Add("");
             ConnectionsListView.Items.Add(i);
         }
     }
 }
コード例 #9
0
 /// <summary>
 /// Used to open gui in timetable layout and sets member variables with given parameter values
 /// </summary>
 /// <param name="timetableLocation"></param>
 public GUIResults(string timetableLocation)
 {
     InitializeComponent();
     stationBoardRoot = transport.GetStationBoard(timetableLocation, transport.GetStations(timetableLocation).StationList[0].Id);
     connections      = null;
     LoadFormInTimetableLayout(timetableLocation);
 }
コード例 #10
0
        /// <summary>
        /// Use the SwissTransport API to search stationboards from a station.
        /// Returns a list of rows. Each row is a string array with the values departure, name and goal.
        /// </summary>
        /// <param name="station"></param>
        /// <param name="dateAndTime"></param>
        /// <returns></returns>
        public static List <string[]> getStationboards(string station, DateTime dateAndTime)
        {
            List <string[]> rows     = new List <string[]>();
            string          datetime = "datetime=" + dateAndTime.ToString(@"yyyy-MM-dd HH:mm");
            string          id       = null;;

            try
            {
                id = transport.GetStations(station).StationList[0].Id;
            }
            catch { }

            if (id != null)
            {
                StationBoardRoot    root          = transport.GetStationBoard(station, id, datetime);
                List <StationBoard> stationBoards = root.Entries;
                foreach (StationBoard stationBoard in stationBoards)
                {
                    string departure = Convert.ToDateTime(stationBoard.Stop.Departure).ToString(dateTimeFormatter);
                    string name      = stationBoard.Name;
                    string goal      = stationBoard.To;
                    rows.Add(new string[] { departure, name, goal });
                }
                return(rows);
            }
            else
            {
                return(null);
            }
        }
コード例 #11
0
        public Stationssuche Abfahrtsplansuche(string eingabestationsname, Stationssuche neuesuche)
        {
            try
            {
                var stationsobjekte = transport.GetStations(query: eingabestationsname);

                List <Station> stationen = stationsobjekte.StationList;

                foreach (Station bahnhof in stationen)
                {
                    if (bahnhof.Name.Equals(eingabestationsname))
                    {
                        neuesuche.stationname = bahnhof.Name;
                        neuesuche.stationid   = bahnhof.Id;
                    }
                }

                StationBoardRoot stationsboard = transport.GetStationBoard(neuesuche.stationname, neuesuche.stationid);

                neuesuche.ausgehendeverbindungen = stationsboard;

                return(neuesuche);
            }
            catch { return(neuesuche); }
        }
コード例 #12
0
        private void VerbindungenSuchen_Click(object sender, EventArgs e)
        {
            string station = AbfahrtsOrtWählen.Text;
            string id      = AbfahrtsOrtWählen.Text;

            ITransport       AnschlussOrt = new Transport();
            StationBoardRoot anschlüsse   = AnschlussOrt.GetStationBoard(station, id);

            Abfahrtstafel.Items.Clear();

            foreach (StationBoard s in anschlüsse.Entries)
            {
                Abfahrtstafel.Items.Add("Abfahrt Zeit: " + "\t" + s.Stop.Departure.ToString("g") + "\t" + " (" + s.Name + ")" + "\t" + s.To);
            }

            /*  Abfahrtstafel.Items.Clear();
             * for (int i = 0; i < anschlüsse.GetStationBoard.Count; i++)
             * {
             *    DateTime departureDate = Convert.ToDateTime(connections.ConnectionList[i].From.Departure);
             *    DateTime arriveDate = Convert.ToDateTime(connections.ConnectionList[i].To.Arrival);
             *    string[] durTime = connections.ConnectionList[i].Duration.Split('d')[1].Split(':');
             *    string hours = durTime[0];
             *    string minutes = durTime[1];
             *
             *    string eintrag = "Abfahrt auf Gleis: " + connections.ConnectionList[i].From.Platform;
             *    eintrag += "\t" + "um: " + departureDate.ToShortTimeString();
             *    eintrag += "\t" + "Abfahte auf Station: " + connections.ConnectionList[i].From.Station.Name;
             *    eintrag += "\t" + "Ankunft: " + arriveDate.ToShortTimeString();
             *    eintrag += "\t" + "Dauer: " + hours + ":" + minutes;
             *    Verbindungen.Items.Add(eintrag);
             * }*/
        }
コード例 #13
0
ファイル: Fahrplan.cs プロジェクト: jfladas/modul-318-student
        public void suchePlan()
        {
            string dateTime =
                datDatum.Value.Year.ToString() +
                "-" +
                datDatum.Value.Month.ToString() +
                "-" +
                datDatum.Value.Day.ToString() +
                "T" +
                datZeit.Value.Hour.ToString() +
                "%3A" +
                datZeit.Value.Minute.ToString(); //2019-12-31T23%3A55
            StationBoardRoot statboard = transport.GetStationBoard(txtAbfahrt.Text, "", dateTime);

            if (statboard.Entries.Count == 0)
            {
                throw new Exception("no results");
            }
            lstErgebnisse.Items.Clear();
            lblDetail.Text = "Abfahrtsplan ab\n\r" + statboard.Station.Name;
            lstErgebnisse.Items.Add("");
            for (int i = 0; i < 7; i++)
            {
                lstErgebnisse.Items.Add(
                    statboard.Entries.ElementAt(i).Stop.Departure.ToShortTimeString() +
                    " | " +
                    statboard.Entries.ElementAt(i).Number +
                    " | " +
                    statboard.Entries.ElementAt(i).To);
            }
            btnMail.Enabled   = true;
            btnMail.BackColor = Color.FromArgb(0, 0, 100);
        }
コード例 #14
0
        //Methode zum auslesen der Verbindungen für die Abfahrtstabelle
        private void GetAbfahrt()
        {
            try
            {
                DataTable dtt_routes = new DataTable();
                dtt_routes.Columns.Add("Zeit");
                dtt_routes.Columns.Add("Nach");
                dtt_routes.Columns.Add("Linie");


                Station          station    = transport.GetStations(txtSuche_Von.Text).StationList.First();
                StationBoardRoot departures = transport.GetStationBoard(station.Name, station.Id);

                foreach (StationBoard station_b in departures.Entries)
                {
                    dtt_routes.Rows.Add(GetTime(station_b.Stop.Departure.ToString()), station_b.To, (station_b.Category + " " + station_b.Number));
                }

                dtgverbindung.DataSource = dtt_routes;
            }
            catch
            {
                MessageBox.Show("Es wurde keine Station angegeben");
                txtSuche_Von.Focus();
            }
        }
コード例 #15
0
        private void FahrplantafelAnzeigen(string id)
        {
            lstFahrplan.Items.Clear();

            StationBoardRoot fahrplanInhalt = t.GetStationBoard(txtStation.Text, id);

            if (fahrplanInhalt != null)
            {
                try
                {
                    foreach (StationBoard sb in fahrplanInhalt.Entries)
                    {
                        ListViewItem fahrplanTabelle = new ListViewItem((sb.Name), 0);
                        fahrplanTabelle.SubItems.Add(sb.To);
                        fahrplanTabelle.SubItems.Add(sb.Stop.Departure.ToShortTimeString());

                        lstFahrplan.Items.AddRange(new ListViewItem[] { fahrplanTabelle });
                    }
                }
                catch
                {
                    ListViewItem verbindungsTabelle = new ListViewItem("Fahrplan konnte nicht angezeigt werden", 0);
                }
            }
        }
コード例 #16
0
 private void tbxSearch_Click(object sender, EventArgs e)
 {
     try
     {
         if (tbxDepartureStation.Text != "")                                                        // Validation der Station
         {
             if (_stationExists.Station(tbxDepartureStation.Text))
             {
                 StationBoardRoot stationBoardRoot = new StationBoardRoot();                       // Wert der eingegebener Station der Funktion "GetStationBoard" übergeben
                 stationBoardRoot = _transport.GetStationBoard(tbxDepartureStation.Text, "");
                 FillDataGridView(stationBoardRoot);
             }
             else
             {
                 MessageBox.Show("Station existiert nicht");
             }
         }
         else
         {
             MessageBox.Show("Bitte das Feld 'Station' ausfüllen");
         }
     }
     catch
     {
         Exception ex = new Exception();
         MessageBox.Show(ex.ToString());
     }
 }
コード例 #17
0
ファイル: Form2.cs プロジェクト: Jothei/modul-318-student
        private void btn_to_google_maps_Click(object sender, EventArgs e)
        {
            try
            {
                if (!string.IsNullOrEmpty(cb_fahrtafelstationauswahl.Text))
                {
                    StationBoardRoot stationBoard = myTransport.GetStationBoard(station, "");

                    string xcord = stationBoard.Station.Coordinate.XCoordinate.ToString();
                    string ycord = stationBoard.Station.Coordinate.YCoordinate.ToString();

                    if (xcord != null || ycord != null)
                    {
                        xcord = coordinateformatter(xcord);
                        ycord = coordinateformatter(ycord);
                        gotoSite("https://www.google.com/maps/place/" + xcord.ToString() + "," + ycord.ToString());
                    }
                    else
                    {
                        MessageBox.Show("Error");
                    }
                }
                else
                {
                    MessageBox.Show("Station nicht gefunden.\nBitte überprüfen Sie ob die richtige Station eingegeben wurde", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Error", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
コード例 #18
0
        private void SearchDepartureTabelClick(object sender, EventArgs e)
        {
            //Rows leeren
            this.DepartureTableDataGridView.Rows.Clear();
            try
            {
                if (DepartureTabelComboBox.Text != "")
                {
                    DateTime         time        = DateTime.Now;
                    StationBoardRoot connections = transport.GetStationBoard(DepartureTabelComboBox.Text, "0", time, 7);

                    if (connections.Entries.Count != 0)
                    {
                        foreach (var singleCon in connections.Entries) //Entries = List<StationBoard>
                        {
                            this.DepartureTableDataGridView.Rows.Add(singleCon.Stop.Departure.ToString().Substring(11, 5), singleCon.To.ToString(), singleCon.Name.ToString());
                        }
                    }
                    else
                    {
                        MessageBox.Show("Es gibt keine Abfahrten von dieser Station.\nBitte überprüfen Sie Ihre Eingabe.");
                    }
                }
                else
                {
                    MessageBox.Show("Bitte geben Sie eine Station ein.");
                }
            }
            catch
            {
                MessageBox.Show("Fehler: Bitte überprüfen Sie Ihre Eingabe.");
            }
        }
コード例 #19
0
        private void DisplayDeparture(StationBoardRoot stationBoard)
        {
            try
            {
                if (stationBoard == null)
                {
                    MessageBox.Show("Für diese Station gibt es keine Abfahrtstafel (keine ÖV-Haltestelle).", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    return;
                }

                foreach (StationBoard boardEntry in stationBoard.Entries)
                {
                    ListViewItem item = new ListViewItem();
                    item.Text = boardEntry.Stop.Departure.ToString();
                    item.SubItems.Add(boardEntry.To);
                    item.SubItems.Add(boardEntry.Operator);

                    lstViewDepartureBoard.Items.Add(item);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ein Fehler ist aufgetreten: " + ex.Message);
            }
        }
コード例 #20
0
        private void GetDepartementTable()
        {
            dgtBoard.Rows.Clear();

            dgtConnections.Visible = false;
            dgtBoard.Visible       = true;
            btnSendMail.Enabled    = false;

            Transport        transport        = new Transport();
            StationBoardRoot stationBoardRoot = new StationBoardRoot();

            // Error gets thrown when no stationboard can be found
            try
            {
                stationBoardRoot = transport.GetStationBoard(cmbFrom.Text);

                foreach (StationBoard stationBoard in stationBoardRoot.Entries)
                {
                    dgtBoard.Rows.Add(Convert.ToDateTime(stationBoard.Stop.Departure).ToString("HH:mm"),
                                      stationBoard.Stop.Platform,
                                      stationBoard.To
                                      );
                }
            } catch (Exception exc)
            {
                dialogs.ShowNoStationBoardFoundDialog(cmbFrom.Text);
            }
        }
コード例 #21
0
        private void buttonAbfahrtsplanSuchen_Click(object sender, EventArgs e)
        {
            //get Stationboard
            Stations         stations     = transport.GetStations(textBoxAbfahrtsplan.Text);
            Station          station      = stations.StationList[0];
            StationBoardRoot stationboard = transport.GetStationBoard(station.Name, station.Id);

            int rowcount = 1;

            //clear table and insert headers
            printHeader();

            //fill Abfahrstable
            foreach (StationBoard stationboardloop in stationboard.Entries)
            {
                int colcount = 0;

                tableLayoutPanelAbfahrtsplan.Controls.Add(new Label()
                {
                    Text = stationboardloop.Stop.Departure.ToString("HH:mm"), AutoSize = true, TextAlign = ContentAlignment.MiddleCenter, Dock = DockStyle.None
                }, colcount, rowcount);
                colcount++;
                tableLayoutPanelAbfahrtsplan.Controls.Add(new Label()
                {
                    Text = stationboardloop.To, AutoSize = true, TextAlign = ContentAlignment.MiddleCenter, Dock = DockStyle.None
                }, colcount, rowcount);
                colcount++;
                tableLayoutPanelAbfahrtsplan.Controls.Add(new Label()
                {
                    Text = stationboardloop.Category, AutoSize = true, TextAlign = ContentAlignment.MiddleCenter, Dock = DockStyle.None
                }, colcount, rowcount);
                rowcount++;
            }
        }
コード例 #22
0
        //Öffnet das Stationboard + validiert die Eingabe (ist etwas vorhanden) + Holt Daten für das Station Board
        private void btnStationBoardTo_Click(object sender, EventArgs e)
        {
            if (selectionTo.Text != "")
            {
                error.Text = "";

                StationBoardRoot StationRoot = new StationBoardRoot();
                Transport        transporter = new Transport();
                try
                {
                    //Daten mithilfe von Transport.cs erhalten
                    StationRoot = transporter.GetStationBoard(selectionTo.Text, transporter.GetStationBoard(selectionTo.Text));
                }
                catch
                {
                    error.Text = "This Search gives No Result, Try again!";
                }
                if (StationRoot.Entries != null && StationRoot.Entries.Count() > 0)
                {
                    Stationboard Stationboards = new Stationboard(selectionTo.Text, StationRoot);

                    Stationboards.Show();
                }
                else
                {
                    error.Text = "This Search gives No Result, Try again!";
                }
            }
            else
            {
                error.Text = "The To field must be filled!";
            }
        }
コード例 #23
0
        //Abfahrtstabelle generieren
        //*********************************************************************
        private void btgenerateabfahrtsort_Click(object sender, EventArgs e)
        {
            //Fehlermeldung bei leeren Feldern
            if (tbAbfahrtsort.Text == "")
            {
                MessageBox.Show("Bitte alle Felder Füllen", "Leere Felder", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                //Staionboard von SwissTransport holen
                StationBoardRoot Stationboards = trans.GetStationBoard(tbAbfahrtsort.Text, trans.GetStations(tbAbfahrtsort.Text).StationList[0].Id);

                //Abfüllen der ListView
                LVResult.Items.Clear();
                foreach (StationBoard board in Stationboards.Entries)
                {
                    ListViewItem newBoard = new ListViewItem();
                    newBoard.Text = trans.GetStations(tbAbfahrtsort.Text).StationList.First().Name;
                    newBoard.SubItems.Add(board.To);
                    newBoard.SubItems.Add(board.Stop.Departure.ToShortTimeString());

                    LVResult.Items.Add(newBoard);
                }
            }
        }
コード例 #24
0
 private void tbxSearch_Click(object sender, EventArgs e)
 {
     try
     {
         if (tbxStation.Text != "")                                                      // Hier wird eine Validation der eingegebener Station durchgeführt
         {
             if (_stationExists.Station(tbxStation.Text))
             {
                 StationBoardRoot stationBoardRoot = new StationBoardRoot();             // Falls der Standort vorhanden ist, wird eine Funktion ShowMap ausgeführt
                 stationBoardRoot = _transport.GetStationBoard(tbxStation.Text, "");
                 ShowMap(stationBoardRoot);
             }
             else
             {
                 MessageBox.Show("Station existiert nicht");
             }
         }
         else
         {
             MessageBox.Show("Bitte das Feld 'Station' ausfüllen");
         }
     }
     catch
     {
         Exception ex = new Exception();
         MessageBox.Show(ex.ToString());
     }
 }
コード例 #25
0
        private void SearchButton2_Click(object sender, EventArgs e)
        {
            LVtafel.Items.Clear();

            if (Stationtb.Text == "")
            {
                LabelFehler3.Visible = true; // Fehlermeldung anzeigen lassen
            }
            else
            {
                transport = new Transport();
                Stations stations = transport.GetStations(Stationtb.Text);
                Station  station  = stations.StationList[0];
                String   id       = station.Id;

                StationBoardRoot stationBoard = transport.GetStationBoard(Stationtb.Text, id);

                foreach (StationBoard entries in stationBoard.Entries)
                {
                    var item = new ListViewItem(new[] { entries.Stop.Departure.ToString(), entries.Name, station.Name, entries.To });
                    LVtafel.Items.Add(item); // Datensätze zur Abfahrtstafel hinzufügen
                }
                Stationtb.Clear();
                LabelFehler3.Visible = false;
            }
        }
コード例 #26
0
        // Function to update the Stationboard
        private void StationBoardUpdate(StationBoardRoot stationBoardRoot)
        {
            int i = 0;

            gridResult.Rows.Clear();
            gridResult.Columns.Clear();
            gridResult.Columns.Add("Datum", "Datum");
            gridResult.Columns.Add("Abfahrtzeit", "Abfahrtzeit");
            gridResult.Columns.Add("Abfahrtsort", "Abfahrtsort");
            gridResult.Columns.Add("Richtung", "Richtung");
            gridResult.Columns.Add("Linie", "Linie");
            foreach (StationBoard stationBoard in stationBoardRoot.Entries)
            {
                if (i <= 10)
                {
                    gridResult.Rows.Add(new[] {
                        stationBoard.Stop.Departure.ToString("dd.MM.yyyy"),
                        stationBoard.Stop.Departure.ToString("HH:mm"),
                        stationBoardRoot.Station.Name,
                        stationBoard.To,
                        stationBoard.Name
                    });
                    i++;
                }
            }
        }
コード例 #27
0
ファイル: Form1.cs プロジェクト: louis11s/modul-318-student
        private void showStationBoard()
        {
            listView1.Items.Clear();

            string name = tBvon.Text;
            string id   = "";

            try
            {
                foreach (Station s in myStations.StationList)
                {
                    if (s.Name == name)
                    {
                        id = s.Id;
                        break;
                    }
                }



                StationBoardRoot stationBoard = t.GetStationBoard(name, id);
                foreach (StationBoard stationboard in stationBoard.Entries)
                {
                    ListViewItem item1 = new ListViewItem();
                    item1.SubItems.Add(tBvon.Text);
                    item1.SubItems.Add(stationboard.To);
                    item1.SubItems.Add(stationboard.Entries.Departure.ToShortTimeString());
                    listView1.Items.Add(item1);
                }
            }
            catch
            {
                MessageBox.Show("Station nicht gefunden");
            }
        }
コード例 #28
0
ファイル: formMain.cs プロジェクト: koe2/modul-318-student
        private StationBoardRoot getStationBoard(ComboBox _cbSender, ListBox _lb, TabPage _tb)
        {
            _lb.Items.Clear();
            if (_cbSender.Text != "" && _cbSender.SelectedIndex > -1)
            {
                iStation = new Transport();
                string           id = validStations.StationList[_cbSender.SelectedIndex].Id.ToString();
                StationBoardRoot sb = iStation.GetStationBoard(_cbSender.Text, id);


                foreach (StationBoard s in sb.Entries)
                {
                    _lb.Items.Add(" Ziel: " + s.To +
                                  "\t - " + s.Name +
                                  "\t - " + s.Stop.Departure.ToString().Remove(s.Stop.Departure.ToString().Length - 3, 3)
                                  );
                }
                _tb.Text = "Ab: " + _cbSender.Text;

                return(sb);
            }
            else
            {
                _tb.Text = "Ab: ";
                return(null);
            }
        }
コード例 #29
0
        /// <summary>
        /// Diese Form wird aufgerufen, sobald der benutzer nur eine Abfahrtsstelle angegeben hat, aber keine Ankunftshaltestelle hat
        /// </summary>
        /// <param name="station"></param>
        /// <param name="transport"></param>
        public Abfahrtstafel(Station station, ITransport transport)
        {
            InitializeComponent();
            stationBoard = transport.GetStationBoard(station.Name, station.Id);

            //eine Liste wird erstellt und in meine Liste kopiert
            IList <StationBoardViewModel> listArrivals = new List <StationBoardViewModel>();

            //Diese List gibt jetzt für jeden Vorhandenen eintrag einen Resultat zurück
            foreach (StationBoard arrival in stationBoard.Entries)
            {
                var stationBoardViewModel = new StationBoardViewModel();

                stationBoardViewModel.DeparturePoint = station.Name;
                stationBoardViewModel.DepartureTime  = arrival.Stop.Departure.ToShortTimeString();
                stationBoardViewModel.ArrivalPoint   = arrival.To;

                listArrivals.Add(stationBoardViewModel);
            }

            //Die Liste mit den Einträgen wird ausgegeben
            dataGrid_Ausgabe.DataSource = listArrivals;

            //dataGrid_Ausgabe.Columns.Add()
        }
コード例 #30
0
        /// <summary>
        /// Ist die Methode für den StandortSucheBtn das die Items dann in die StandortsFahrplanListView einfügt
        /// </summary>
        /// <param name="StandortsFahrplanListView"></param>
        private void StandortsFahrplaEingaben(ListView StandortsFahrplanListView)
        {
            StationBoardRoot StationBoardRoot = new StationBoardRoot();

            StationBoardRoot = _transporter.GetStationBoard(CbStandort.Text, CbStandort.Text);
            if (StandortsFahrplanListView.Columns.Count == 0)
            {
                StandortsFahrplanListView.Columns.Add("", 0);
                StandortsFahrplanListView.Columns.Add("ÖV Bezeichnung", 110);
                StandortsFahrplanListView.Columns.Add("Nach", 110);
                StandortsFahrplanListView.Columns.Add("Abfahrtszeit", 110);
            }
            StandortsFahrplanListView.Items.Clear();
            foreach (StationBoard Station in StationBoardRoot.Entries)
            {
                DateTime     departure     = Convert.ToDateTime(Station.Stop.Departure);
                string       departuretime = departure.ToShortTimeString();
                ListViewItem Item1         = new ListViewItem("");

                Item1.SubItems.Add(Station.Name);
                Item1.SubItems.Add(Station.To);
                Item1.SubItems.Add(departuretime);
                StandortsFahrplanListView.Items.Add(Item1);
                StandortsFahrplanListView.View = View.Details;
            }
        }