コード例 #1
0
        public ActionResult AddFlights()
        {
            try
            {
                AiportsDb Airports = new AiportsDb();
                var AirportsList = Airports.GetAirports().ToList(); ;
                int nbAirports = AirportsList.Count;
                List<Flight> FlightsList = new List<Flight>();
                Random rnd = new Random();
                int i = 0;
                int nbFlights = 20000;
                while (i < nbFlights)
                {
                    int departureIdx = rnd.Next(0, nbAirports);
                    int arrivalIdx = rnd.Next(0, nbAirports);
                    int DepartureAirportId = AirportsList[departureIdx].Id;
                    int ArrivalAirportId = AirportsList[arrivalIdx].Id;
                    while (departureIdx == arrivalIdx)
                        arrivalIdx = rnd.Next(0, nbAirports);
                    Flight f = new Flight()
                    {
                        DepartureAirportId = DepartureAirportId,
                        ArrivalAirportId = ArrivalAirportId
                    };
                   Flight f2 = new Flight()
                    {
                        DepartureAirportId = ArrivalAirportId,
                        ArrivalAirportId = DepartureAirportId
                    };
                  if(!FlightsList.Contains(f))
                  {
                      FlightsList.Add(f);
                      FlightsList.Add(f2);
                      i++;
                  }               
                }
               bool done = Airports.AddFlights(FlightsList);
               if (done)
                   ViewBag.Message = nbFlights * 2 + " vols ont été ajoutés";
               else
                   ViewBag.Message = "Erreur dans l'ajout des vols";
          

            }
            catch (Exception e)
            {
                ViewBag.Message = e.Message;
            }
            return View("~/Views/Admin/Index.cshtml");
        }