/// <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; } }
/// <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; } }