/// <summary>
        /// Körs igång när publishern publishar något och lägger till flighter i listan när de har startat och de tas bort när de har landat
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void OnEventChanged(object sender, StartEventInfo e)
        {
            if (e != null)
            {
                if (e.Status == "Started")
                {
                    startedFlights.Add(e);

                }
                if (e.Status == "Landed")
                {
                    for (int i = 0; i < startedFlights.Count; i++)
                    {
                        if (e.FlightCode == startedFlights.ElementAt(i).FlightCode)
                        {
                            startedFlights.RemoveAt(i);

                        }
                    }

                }
                updateListview();

            }
        }
 /// <summary>
 /// Raisar route change event
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void cbRouteChange_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     StartEventInfo eventInfo = new StartEventInfo();
     eventInfo.FlightCode = flightCode;
     eventInfo.Status = "Now heading " + cbRouteChange.SelectedItem.ToString();
     handlerEventInfo(this, eventInfo);
 }
Esempio n. 3
0
        /// <summary>
        /// Startar en flight
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSendPlane_Click(object sender, RoutedEventArgs e)
        {
            string flightC = txtFlightCode.Text;

            if (!string.IsNullOrEmpty(flightC))
            {
                //Tar bort alla blanksteg och gör alla bokstäver till versaler
                flightC = Regex.Replace(flightC, @"\s+", "").ToUpper();

                FlightWindow flight = new FlightWindow(flightC);
                flight.Show();
                flight.handlerEventInfo += OnEventChanged;

                // ongoingflightswindow klassen subscribar på den skapade flighten
                // Fråga, Hur gör jag detta från OngoingFlightsWindow klassen?
                // Min lösning känns lite fel även om det funkar..
                flight.handlerEventInfo += ongoingflights.OnEventChanged;

                StartEventInfo fu = new StartEventInfo();
                fu.FlightCode = flightC;
                fu.Status = "Sent to runway";

                listviewen.Items.Insert(0, fu);
                //Nollas för att den ska kunna rensas från minnet såfort som möjligt eftersom vi inte behöver objektet längre
                fu = null;

                txtFlightCode.Text = "";

            }
        }
        /// <summary>
        /// Startar flighten
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnStart_Click(object sender, RoutedEventArgs e)
        {
            StartEventInfo eventInfo = new StartEventInfo();
            eventInfo.FlightCode = flightCode;
            eventInfo.Status = "Started";
            handlerEventInfo(this, eventInfo);

            btnStart.IsEnabled = false;
            btnLand.IsEnabled = true;
            cbRouteChange.IsEnabled = true;
        }
Esempio n. 5
0
 /// <summary>
 /// Lägger till info om eventet som skedde i listviewen
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void OnEventChanged(object sender, StartEventInfo e)
 {
     if (e != null) {
     listviewen.Items.Insert(0, e);
     }
 }