Esempio n. 1
0
 private static void InjiserBillettyper(List <Billettyper> billettyper, BussContext context)
 {
     foreach (Billettyper billettype in billettyper)
     {
         context.Billettyper.Add(billettype);
     }
 }
Esempio n. 2
0
        /* Metode som tar inn et Ruter-objekt en liste med Stopp og en
         * DB-context og injiserer det inn i databasen */

        private static void InjiserRute(Ruter rute, string[] stoppListe, BussContext context)
        {
            context.Ruter.Add(rute); // Nytt instans av Ruter i databasen

            // Lopper gjennom alle stoppene i listen med stopp
            int stoppNummer = 1;

            foreach (string stoppnavn in stoppListe)
            {
                /* Finner ut om stoppet allerede eksisterer i databasen,
                 * hvis ikke legges det til et nytt instans av Stopp i databasen */
                Stopp stopp = context.Stopp.FirstOrDefault(s => s.Navn == stoppnavn);
                if (stopp == null)
                {
                    stopp = new Stopp()
                    {
                        Navn = stoppnavn
                    };
                    context.Stopp.Add(stopp);
                }

                // Genererer tilfeldig tall mellom 35 og 45
                Random rInt         = new Random();
                int    tilfeldigTid = rInt.Next(35, 45);

                // Nytt instans av RuteStopp
                var ruteStopp = new RuteStopp()
                {
                    StoppNummer           = stoppNummer,
                    MinutterTilNesteStopp = tilfeldigTid,
                    Stopp = stopp,
                    Rute  = rute
                };

                // Nytt instans av RuteStopp i datbasen
                context.RuteStopp.Add(ruteStopp);
                stoppNummer++;
            }

            context.SaveChanges();
        }
Esempio n. 3
0
 private static void InjiserOrdre(string epost, Stopp startStopp, Stopp sluttStopp, Ruter rute, Billettyper billettype, int antall, BussContext context)
 {
     for (int i = 0; i < antall; i++)
     {
         List <Avganger> avganger = context.Avganger.Where(a => a.Rute == rute)
                                    .OrderBy(a => a.Avreise).Take(antall).ToList();;
         Ordre ordre = new Ordre
         {
             Epost      = epost,
             StartStopp = startStopp,
             SluttStopp = sluttStopp,
             Sum        = 250,
             Rute       = rute,
             Avgang     = avganger[i]
         };
         Ordrelinjer ordrelinje = new Ordrelinjer
         {
             Billettype = billettype,
             Ordre      = ordre
         };
         avganger[i].SolgteBilletter++;
         context.Ordre.Add(ordre);
         context.Ordrelinjer.Add(ordrelinje);
     }
 }
Esempio n. 4
0
        /* Legger inn en nye avganer
         * int antall: antall avganger som skal injiserers
         * double hyppighet: hvor lenge mellom hver avgang */

        private static void InjiserAvganger(DateTime idag, Ruter rute, double hyppighet, int antall, BussContext context)
        {
            Random tInt          = new Random();
            int    tilfeldigTime = tInt.Next(7, 11); // Velger Tilfeldig time 7 - 11

            // Velger tilfeldig minutt fra listen
            int        tilfeldigIndex = tInt.Next(0, 3);
            List <int> minuttliste    = new List <int> {
                0, 15, 30, 45
            };
            int tilfeldigMinutt = minuttliste[tilfeldigIndex];

            // Ny dato basert på tilfeldig time og minutt
            TimeSpan tilfeldigTidspunkt = new TimeSpan(tilfeldigTime, tilfeldigMinutt, 0);
            DateTime tilfeldigAvreise   = idag.Date + tilfeldigTidspunkt;

            // Produserer 100 avganger plasser annen hver dag
            for (int i = 0; i < antall; i++)
            {
                Avganger nyAvgang = new Avganger()
                {
                    Avreise         = tilfeldigAvreise,
                    SolgteBilletter = 0,
                    Rute            = rute
                };
                tilfeldigAvreise = tilfeldigAvreise.AddDays(hyppighet);
                context.Avganger.Add(nyAvgang);
            }
        }