public bool LeggInn(Flygning flygning)
 {
     return(flygning != null &&
            flygning.Rute != null &&
            flygning.AvgangsTid != null &&
            flygning.Fly != null);
 }
 public bool LeggInn(Flygning flygning)
 {
     using (var db = new DB())
     {
         var dbflygning = Mapper.Map <DBFlygning>(flygning);
         try
         {
             dbflygning.Rute = db.Ruter.Find(dbflygning.Rute.ID);
             db.Flyplasser.Find(dbflygning.Rute.Fra.ID);
             db.Flyplasser.Find(dbflygning.Rute.Til.ID);
             dbflygning.Fly = db.Fly.Find(dbflygning.Fly.ID);
             db.Flygninger.Add(dbflygning);
             db.Endringer.Add(new DBEndring()
             {
                 Endring   = "La til flygning ny flygning mellom: " + dbflygning.Rute.Fra.ID + " - " + dbflygning.Rute.Til.ID,
                 Tidspunkt = DateTime.Now
             });
             db.SaveChanges();
             return(true);
         }
         catch (Exception e)
         {
             DALsetup.LogFeilTilFil("DBFlygning:LeggInn", e.InnerException, "Feil under lagring til databasen");
             return(false);
         }
     }
 }
Exemple #3
0
        public Bestilling LeggInn(List <Kunde> kunder, BestillingViewModel gjeldende)
        {
            var bestilling = new Bestilling()
            {
                Bestillingstidspunkt = DateTime.Now,
                FlygningerTur        = new List <Flygning>(),
                Passasjerer          = kunder,
                Totalpris            = gjeldende.Totalpris
            };

            do //Lag en unik UUID helt til det ikke finnes i databasen fra før.
            {
                bestilling.Referanse = Guid.NewGuid().ToString().ToUpper().Substring(0, 6);
            } while (dbBestilling.Hent(bestilling.Referanse) != null);


            foreach (var flygning in gjeldende.Tur.Flygninger)
            {
                Flygning dbFlygning = dbflygning.Finn(flygning.ID);
                if (dbFlygning == null)
                {
                    throw new InvalidOperationException("Ugyldig flygning");                     //Det skjedde en feil
                }
                bestilling.FlygningerTur.Add(dbFlygning);
            }

            if (gjeldende.Retur != null)
            {
                bestilling.FlygningerRetur = new List <Flygning>();
                foreach (var flygning in gjeldende.Retur.Flygninger)
                {
                    var dbFlygning = dbflygning.Finn(flygning.ID);
                    if (dbFlygning == null)
                    {
                        throw new InvalidOperationException("Ugyldig flygning");
                    }

                    bestilling.FlygningerRetur.Add(dbFlygning);
                }
            }

            dbBestilling.LeggInn(bestilling);


            return(bestilling);
        }
Exemple #4
0
        private static Reise GenererNyReise()
        {
            var rute = new Rute()
            {
                Fra = new Flyplass()
                {
                    ID   = "OSL",
                    By   = "Oslo",
                    Land = "Norge",
                    Navn = "Gardermoen"
                },
                Til = new Flyplass()
                {
                    ID   = "BOO",
                    By   = "Bodø",
                    Land = "Norge",
                    Navn = "Bodø Lufthavn"
                },
                BasePris = 1099,
                Reisetid = new TimeSpan(1, 0, 0)
            };

            var flygning = new Flygning()
            {
                ID         = 10,
                Rute       = rute,
                AvgangsTid = DateTime.Now.AddHours(1),
                Fly        = new Fly()
                {
                    Modell      = "Boieng 737",
                    AntallSeter = 150,
                }
            };


            return(new Reise(flygning));
        }
        public bool Endre(Flygning flygning)
        {
            using (var db = new DB())
            {
                var dbflygning = db.Flygninger.Find(flygning.ID);
                dbflygning.AvgangsTid = flygning.AvgangsTid;

                try
                {
                    db.Endringer.Add(new DBEndring()
                    {
                        Tidspunkt = DateTime.Now,
                        Endring   = $"Oppdaterte flygning {dbflygning.ID}, ny avganstid: {dbflygning.AvgangsTid}"
                    });
                    db.SaveChanges();
                }
                catch (Exception e)
                {
                    DALsetup.LogFeilTilFil("DBFlygning:Endre", e, "En feil oppsto da metoden prøvde å oppdatere flygning");
                    return(false);
                }
                return(true);
            }
        }
 public bool Endre(Flygning flygning)
 {
     throw new NotImplementedException();
 }