public bool OpprettOrdre(HandleKurv kurv, int kID) { try { if (kurv != null) { using (var db = new DB()) { var dbKunde = db.Kunder.Find(kID); // Lager ordre var ordre = new DBOrdre(); ordre.Dato = DateTime.Now; // Lager ordrelinjer som blir satt inn i OrdeLinje senere var ordreLinjer = new List <DBOrdrelinje>(); foreach (var vareLinje in kurv.HandleKurvLinjer) { var ordreLinje = new DBOrdrelinje(); var dbFilm = db.Filmer.Find(vareLinje.Film.ID); ordreLinje.Film = dbFilm; ordreLinje.Antall = vareLinje.Antall; ordreLinje.Pris = vareLinje.Pris; ordreLinjer.Add(ordreLinje); //Legger ordrelinje i databasen db.OrdreLinjer.Add(ordreLinje); } ordre.TotalPris = kurv.TotalPris; ordre.OrdreLinjer = ordreLinjer; var kundeOrdrer = new List <DBOrdre>(); kundeOrdrer.Add(ordre); var endring = new DBEndring() { Tidspunkt = DateTime.Now, EndringOperasjon = "En ny ordre har blitt opprettet av kunde med følgende ID: ", endring = $"{kID}" }; dbKunde.Ordrer = kundeOrdrer; db.Endringer.Add(endring); db.Ordrer.Add(ordre); db.SaveChanges(); return(true); } } return(false); } catch (Exception e) { DBLog.ErrorToFile("Feil oppstått når en ordre skulle opprettes", "DBKunde:OpprettOrdre", e); return(false); } }
// Legger ordren inn i databasen public bool SettInnOrdre(Ordre innOrdre) { try { byte[] kortDb = lagHash(innOrdre.Kort.Kortnummer); byte[] cvcDb = lagHash(innOrdre.Kort.CVC); var kort = new DBKort() { Kortnummer = kortDb, Navn = innOrdre.Kort.Navn, CVC = cvcDb, Gyldighet = innOrdre.Kort.GyldighetsManed + "/" + innOrdre.Kort.GyldighetsAr }; var ordre = new DBOrdre() { FraStasjon = innOrdre.Rute.Strekning.FraStasjon, TilStasjon = innOrdre.Rute.Strekning.TilStasjon, BillettType = innOrdre.Rute.Strekning.BillettType, AntallVoksen = innOrdre.Rute.Strekning.AntallVoksen, AntallUngdom = innOrdre.Rute.Strekning.AntallUngdom, AntallStudent = innOrdre.Rute.Strekning.AntallStudent, AntallBarn = innOrdre.Rute.Strekning.AntallBarn, Pris = innOrdre.Rute.Strekning.Pris, Avgangtid = innOrdre.Rute.Avgang.Avgangstid, Dato = innOrdre.Rute.Strekning.Dato.ToString("d"), ReturAvgangtid = innOrdre.Rute.Avgang.AvgangstidRetur, ReturDato = innOrdre.Rute.Strekning.ReturDato.ToString("d"), }; kort.Ordre = new List <DBOrdre>(); kort.Ordre.Add(ordre); var endring = new DBEndring() { Tidspunkt = DateTime.Now, EndringOperasjon = "En ny ordre har blitt lagt til: ", Endring = $"{kort.KortID}, {kort.Kortnummer} {kort.CVC}" }; _db.Endring.Add(endring); _db.Kort.Add(kort); _db.SaveChanges(); return(true); } catch (Exception feil) { DBLog.ErrorToFile("Feil oppstått når en ny ordre skulle blitt lagt til", "DBOrdre:SettInnOrdre", feil); return(false); } }