Example #1
0
        //Used to insert flgiths and generate airports associated with that major city (since there can exist two of them per city)
        public static void InsertFlightIntoDatabase(int distance, Major_City c, Major_City c2, DatabaseClassDataContext database)
        {
            int fetch  = 0;
            int fetch2 = 0;

            if (database.Airports.Where(x => x.cityName.Equals(c.name)).ToList().Count > 1)
            {
                fetch = _random.Next(0, 2);
            }

            if (database.Airports.Where(x => x.cityName.Equals(c2.name)).ToList().Count > 1)
            {
                fetch2 = _random.Next(0, 2);
            }
            PersonalPopuplation.Airport departureAirport = database.Airports.Where(x => x.cityName.Equals(c.name)).ToList()[fetch];


            PersonalPopuplation.Airport arrivalAirport = database.Airports.Where(x => x.cityName.Equals(c2.name)).ToList()[fetch2];

            string deptAirportName    = departureAirport.Name;
            string arrivalAirportName = arrivalAirport.Name;

            //Boolean Check to ensure that no two flights are saved with the same city, this was to prevent
            //Overpopulating the database
            //if (database.FLIGHTs.Where(x => x.departure_airport.Equals(deptAirportName) && x.arrival_airport.Equals(arrivalAirportName)).ToList().Count> 0 )
            //{
            //    FLIGHT f = database.FLIGHTs.Where(x => x.departure_airport.Equals(deptAirportName) && x.arrival_airport.Equals(arrivalAirportName)).ToList()[0];
            //    Console.WriteLine("Flight Exists!");
            //    Console.WriteLine(f.arrival_time);
            //    Console.WriteLine(f.departure_time);
            //    return;
            //}

            //Generates Flight Number for Flight's ID
            string flightid = generateFlightNumber();

            //Loops until a unique one is generated
            while (database.Flights.SingleOrDefault(x => x.Flight_id.Equals(flightid)) != null)
            {
                flightid = generateFlightNumber();
                Console.WriteLine("Generating New Unique Flight Number");
            }

            //Randomly generate a departure time
            DateTime deptTime = DateTime.Now.AddMinutes(30 * _random.Next(0, 4));

            PersonalPopuplation.Flight flight = new PersonalPopuplation.Flight()
            {
                Flight_id              = flightid,
                airport_arrival_name   = arrivalAirportName,
                airport_departure_name = deptAirportName,
                departure_time         = deptTime,
                arrival_time           = deptTime.AddMinutes(((double)distance / (double)926) * _random.Next(600, 1000)),
                distance = distance
            };
            database.Flights.InsertOnSubmit(flight);
            database.SubmitChanges();
        }
Example #2
0
        //Extracted functionality from insert flight in database
        //Used for path generation
        public static Flight generateFlight(DatabaseClassDataContext database, Airport a1, Airport a2, int distance)
        {
            string flightid = generateFlightNumber();

            while (database.Flights.SingleOrDefault(x => x.Flight_id.Equals(flightid)) != null)
            {
                flightid = generateFlightNumber();
                Console.WriteLine("Generating New Unique Flight Number");
            }
            DateTime deptTime = DateTime.Now.AddMinutes(30 * _random.Next(0, 4));

            PersonalPopuplation.Flight flight = new PersonalPopuplation.Flight()
            {
                Flight_id              = flightid,
                airport_arrival_name   = a1.Name,
                airport_departure_name = a2.Name,
                departure_time         = deptTime,
                arrival_time           = deptTime.AddMinutes((((double)distance / (double)926) * _random.Next(600, 1000)) * 3),
                distance = distance
            };
            return(flight);
        }