// Cancel Flight From This Airline.
 public void CancelFlight(LoginToken <AirlineCompany> token, Flight flight)
 {
     if (UserIsValid(token) && token.User.Id == flight.AirLineCompany_Id)
     {
         _flightDAO.Remove(flight);
     }
 }
        public void Remove()
        {
            countryDAO.Add(new Country("Israel"));
            Country israel = countryDAO.GetCountryByName("Israel");

            airlineDAO.Add(new AirlineCompany("ELAL", "USERNAME", "PASSWORD", israel.ID));
            AirlineCompany elal = airlineDAO.GetAirlineByName("ELAL");



            flightDAO.Add(new Flight(elal.ID, israel.ID, israel.ID, new DateTime((DateTime.Now.Year + 2), 12, 5, 14, 00, 00), new DateTime((DateTime.Now.Year + 2), 12, 7, 14, 00, 00), 50, FlightStatus.NotDeparted));
            Flight flightTest = flightDAO.GetAll()[0];

            flightDAO.Add(new Flight(elal.ID, israel.ID, israel.ID, new DateTime((DateTime.Now.Year + 2), 12, 5, 14, 00, 00), new DateTime((DateTime.Now.Year + 2), 12, 7, 14, 00, 00), 50, FlightStatus.NotDeparted));

            flightDAO.Remove(flightTest);

            Assert.AreEqual(1, flightDAO.GetAll().Count);
        }
        private void ArchiveTicketsAndFlights()
        {
            var ticketsToArchive = _ticketDAO.GetAll()
                                   .Where(t => t.Flight.LandingTime < (DateTime.Now.Subtract(TimeSpan.FromHours(3))));
            var flightsToArchive = _flightDAO.GetAll()
                                   .Where(f => f.LandingTime < DateTime.Now.Subtract(TimeSpan.FromHours(3)));

            TicketHistory.AddRange(ticketsToArchive);
            FlightHistory.AddRange(flightsToArchive);
            foreach (var ticket in ticketsToArchive)
            {
                _ticketDAO.Remove(ticket);
            }
            foreach (var flight in flightsToArchive)
            {
                _flightDAO.Remove(flight);
            }
        }