/// <summary>
        /// På samma vis som i CreateNewFlight() så skapas en ny status för valt flyg.
        /// Hämtar flygkoden (strängens första 7 tecken) från det flyg vars status ska uppdateras.
        /// Skickar också med en boolean för att FlightWindow ska veta om den får starta eller om den får byta riktning och landa.
        /// </summary>
        private void ChangeFlight()
        {
            string chosenString = infoBox.SelectedItem.ToString();
            string flightCode   = chosenString.Substring(0, 7);

            if (!string.IsNullOrEmpty(flightCode))
            {
                FlightWindow fw = new FlightWindow(flightCode, false);
                fw.DataContext = this.DataContext;
                fw.Show();

                fw.TakeOff     += OnTakeOff;
                fw.Landing     += OnLanding;
                fw.ChangeRoute += OnRouteChange;
            }
        }
        /// <summary>
        /// Hämtar flygkoden, lägger till rad som säger att just det flyget har skickats till runway och när.
        /// Öppnar fönstret för valt flyg och binder valt event till tillhörande metod.
        /// </summary>
        private void CreateNewFlight()
        {
            string flightCode = ReadFlightCode();

            if (!string.IsNullOrEmpty(flightCode))
            {
                string chosenFlight = CodeBox.SelectedItem.ToString();
                infoBox.Items.Add($"{chosenFlight} \t\t\t\t\t Sent to runway... \t\t\t\t\t {DateTime.Now.ToLongTimeString()}");
                FlightWindow fw = new FlightWindow(chosenFlight, true);
                fw.DataContext = this.DataContext;
                fw.Show();

                fw.TakeOff     += OnTakeOff;
                fw.Landing     += OnLanding;
                fw.ChangeRoute += OnRouteChange;
            }
        }
예제 #3
0
        /// <summary
        ///     Method which creates a new flight and subscribes to events
        ///     If statment checks if there is an flight code and if its correct wroten, else the user will get
        ///     an error message.
        /// </summary>
        /// <returns>bool, true or false</returns>
        private bool CreateNewFlight()
        {
            string flightCode = ReadFlightCode();

            //Creates the flight
            if (!string.IsNullOrEmpty(flightCode) && Regex.IsMatch(flightCode, @"^[A-Za-z]{2}.*\d{4}$"))
            {
                Image imgHolder = new Image();
                //Creates an instance of FlightWindow and sends parameters with image and flightcode
                FlightWindow flightWindw = new FlightWindow(flightCode, imgHolder);
                flightWindw.Show();

                //Suscribe to publisher
                flightWindw.FlightStarted += OnFlightStarted;
                flightWindw.FlightLanded += OnFlightLanded;
                flightWindw.ChangedRoute += OnChangedRoute;
                return false;
            }

            else
            {
                return true;
            }
        }