Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        // 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);
            }
        }