示例#1
0
        public bool SettInnStasjon(Stasjon innStasjon)
        {
            try
            {
                var stasjon = new DBStasjon()
                {
                    Stasjon = innStasjon.StasjonNavn
                };

                if (_db.Strekning.Any(s => s.Stasjon == innStasjon.StasjonNavn))
                {
                    return(false);
                }

                var endring = new DBEndring()
                {
                    Tidspunkt        = DateTime.Now,
                    EndringOperasjon = "En ny stasjon har blitt lagt til: ",
                    Endring          = $"{stasjon.Stasjon}"
                };

                _db.Endring.Add(endring);

                _db.Strekning.Add(stasjon);
                _db.SaveChanges();

                return(true);
            }
            catch (Exception feil)
            {
                DBLog.ErrorToFile("Feil oppstått når en stasjon skulle blitt lagt til", "DBStasjon:SettInnStasjon",
                                  feil);
                return(false);
            }
        }
示例#2
0
        public bool SlettStasjon(int SId)
        {
            try
            {
                DBStasjon stasjon = _db.Strekning.FirstOrDefault(s => s.SId == SId);

                if (stasjon == null)
                {
                    return(false);
                }

                var endring = new DBEndring()
                {
                    Tidspunkt        = DateTime.Now,
                    EndringOperasjon = "En stasjon har blitt slettet: ",
                    Endring          = $"[{stasjon.SId}] {stasjon.Stasjon}"
                };

                _db.Endring.Add(endring);
                _db.Strekning.Remove(stasjon);
                _db.SaveChanges();
                return(true);
            }
            catch (Exception feil)
            {
                DBLog.ErrorToFile("Feil oppstått når en stasjon skulle blitt slettet.", "DBStasjon:SlettStasjon", feil);
                return(false);
            }
        }
示例#3
0
        public bool SettInnAvgang(Avgang innAvgang)
        {
            try
            {
                var avgang = new DBAvgang()
                {
                    Avgangstid = innAvgang.Avgangstid,
                    Spor       = innAvgang.Spor,
                    Linje      = innAvgang.Linje,
                    SId        = innAvgang.SId
                };

                if (_db.Avgang.Any(a => a.Avgangstid == innAvgang.Avgangstid))
                {
                    return(false);
                }

                var endring = new DBEndring()
                {
                    Tidspunkt        = DateTime.Now,
                    EndringOperasjon = "En ny avgang har blitt lagt til: ",
                    Endring          = $"[{avgang.AId}] {avgang.Avgangstid} <br> {avgang.Spor} <br> {avgang.Linje}"
                };
                _db.Endring.Add(endring);
                _db.Avgang.Add(avgang);
                _db.SaveChanges();
                return(true);
            }
            catch (Exception feil)
            {
                DBLog.ErrorToFile("Feil oppstått når en avgang skulle bli lagt til", "DBAvgang:SettInnAvgang", feil);
                return(false);
            }
        }
示例#4
0
        public bool SlettFilm(int FilmID)
        {
            try
            {
                using (var db = new DB())
                {
                    var film = db.Filmer.Find(FilmID);
                    if (film != null)
                    {
                        var endringer = new DBEndring()
                        {
                            Tidspunkt        = DateTime.Now,
                            EndringOperasjon = "En film har blitt slettet: ",
                            endring          = $"[{film.ID}] {film.Filmnavn}"
                        };
                        db.Filmer.Remove(film);
                        db.Endringer.Add(endringer);

                        db.SaveChanges();
                        return(true);
                    }
                    return(false);
                }
            }catch (Exception ex)
            {
                DBLog.ErrorToFile("Feil oppstått når en film skulle fjernes", "DBFilm:SlettFilm", ex);
                return(false);
            }
        }
示例#5
0
        public bool SlettAvgang(int AId)
        {
            try
            {
                var avgang = _db.Avgang.FirstOrDefault(a => a.AId == AId);

                if (avgang == null)
                {
                    return(false);
                }

                var endring = new DBEndring()
                {
                    Tidspunkt        = DateTime.Now,
                    EndringOperasjon = "En avgang har blitt slettet: ",
                    Endring          = $"[{avgang.AId}] {avgang.Avgangstid}"
                };
                _db.Endring.Add(endring);
                _db.Avgang.Remove(avgang);
                _db.SaveChanges();
                return(true);
            }
            catch (Exception feil)
            {
                DBLog.ErrorToFile("Feil oppstått når en avgang skulle bli slettet til", "DBAvgang:SlettAvgang", feil);
                return(false);
            }
        }
示例#6
0
        public bool Endre(KundeEndreViewModel endretKunde, int id)
        {
            try
            {
                using (var db = new DB())
                {
                    var kunde = db.Kunder.FirstOrDefault(k => k.ID == id);

                    if (kunde != null)
                    {
                        var postNr = db.Poststeder.Find(endretKunde.Postnummer);
                        kunde.Fornavn     = endretKunde.Fornavn;
                        kunde.Etternavn   = endretKunde.Etternavn;
                        kunde.Mobilnummer = endretKunde.Mobilnummer;
                        kunde.Fodselsdag  = endretKunde.Fodselsdag;
                        kunde.Adresse     = endretKunde.Adresse;

                        if (endretKunde.Epost != kunde.Epost)
                        {
                            var sjekkEpost = Finn(endretKunde.Epost);
                            if (sjekkEpost == null)
                            {
                                kunde.Epost = endretKunde.Epost;
                            }
                            else
                            {
                                return(false);
                            }
                        }

                        if (postNr == null)
                        {
                            var poststed = new DBPoststed();
                            poststed.Postnr   = endretKunde.Postnummer;
                            poststed.Poststed = endretKunde.Poststed;
                            kunde.Poststed    = poststed;
                        }
                        else
                        {
                            kunde.Poststed = postNr;
                        }
                        var endring = new DBEndring()
                        {
                            Tidspunkt        = DateTime.Now,
                            EndringOperasjon = "Endret Kunde:",
                            endring          = $"{kunde.Fornavn} {kunde.Etternavn}, {kunde.Adresse}, {kunde.Epost}, {kunde.Poststed.Poststed}, {kunde.Poststed.Postnr}"
                        };
                        db.Endringer.Add(endring);
                        db.SaveChanges();
                        return(true);
                    }
                    return(false);
                }
            }catch (Exception ex)
            {
                DBLog.ErrorToFile("Feil oppstått når kunde skulle endres", "DBKunde:Endre", ex);
                return(false);
            }
        }
示例#7
0
        public bool OpprettFilm(Film nyFilm)
        {
            try
            {
                using (var db = new DB())
                {
                    nyFilm = LastOppBilde(nyFilm);

                    var dbFilm = new DBFilm();
                    dbFilm.Filmnavn       = nyFilm.Filmnavn;
                    dbFilm.Filmbilde      = nyFilm.Filmbilde;
                    dbFilm.Beskrivelse    = nyFilm.Beskrivelse;
                    dbFilm.Pris           = nyFilm.Pris;
                    dbFilm.Fremhevet      = nyFilm.Fremhevet;
                    dbFilm.FremhevetBilde = nyFilm.FremhevetBilde;

                    var      filmSjanger = new List <DBSjanger>();
                    string[] sjangre     = Regex.Split(nyFilm.Sjanger, " *, *");
                    foreach (var sjanger in sjangre)
                    {
                        var funnetSjanger = db.Sjangre.Where(s => s.sjanger == sjanger).FirstOrDefault();
                        if (funnetSjanger == null)
                        {
                            var nySjanger = new DBSjanger();
                            nySjanger.sjanger = sjanger;
                            filmSjanger.Add(nySjanger);
                            db.Sjangre.Add(nySjanger);
                        }
                        else
                        {
                            filmSjanger.Add(funnetSjanger);
                        }
                    }

                    dbFilm.Sjanger = filmSjanger;

                    db.Filmer.Add(dbFilm);
                    db.SaveChanges();
                    var endring = new DBEndring()
                    {
                        Tidspunkt        = DateTime.Now,
                        EndringOperasjon = "En ny film har blitt opprettet: ",
                        endring          = $"[{dbFilm.ID}] {dbFilm.Filmnavn} <br> {dbFilm.Beskrivelse} <br> <b> Fildestinasjon:</b> {dbFilm.Filmbilde} <br> <b>Fremhevet:</b>{dbFilm.Fremhevet} <br><b>Sjanger:</b>{nyFilm.Sjanger}"
                    };
                    db.Endringer.Add(endring);
                    db.SaveChanges();
                    return(true);
                }
            }
            catch (Exception ex)
            {
                DBLog.ErrorToFile("Feil oppstått når en film skulle opprettes", "DBFilm:OpprettFilm", ex);
                return(false);
            }
        }
示例#8
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);
            }
        }
示例#9
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);
            }
        }
示例#10
0
        public bool EndrePassord(PassordViewModel endretPassord, int kID)
        {
            try
            {
                using (var db = new DB())
                {
                    var kunde = db.Kunder.FirstOrDefault(k => k.ID == kID);
                    if (kunde != null)
                    {
                        byte[] passordForTest = LagHash(endretPassord.GammeltPassord, kunde.Salt);
                        bool   riktigBruker   = kunde.Passord.SequenceEqual(passordForTest);

                        if (riktigBruker)
                        {
                            if (endretPassord.NyttPassord == endretPassord.NyttPassordBekreft)
                            {
                                var salt        = LagSalt();
                                var nyttPassord = LagHash(endretPassord.NyttPassord, salt);
                                kunde.Passord = nyttPassord;
                                kunde.Salt    = salt;
                                var endring = new DBEndring()
                                {
                                    Tidspunkt        = DateTime.Now,
                                    EndringOperasjon = "Endret Kunde Passord",
                                    endring          = $"{kunde.Fornavn} {kunde.Etternavn}, {kunde.Adresse}, {kunde.Epost}, {kunde.Poststed.Poststed}, {kunde.Poststed.Postnr}"
                                };
                                db.Endringer.Add(endring);
                                db.SaveChanges();
                                return(true);
                            }
                        }
                    }
                    return(false);
                }
            }catch (Exception ex)
            {
                DBLog.ErrorToFile("Feil oppstått når passordet skulle endres på en bruker", "DBKunde:EndrePassord", ex);
                return(false);
            }
        }
示例#11
0
        public bool SlettOrdre(int oID)
        {
            try
            {
                using (var db = new DB())
                {
                    var ordre = db.Ordrer.Find(oID);
                    if (ordre != null)
                    {
                        var kunde = db.Kunder.Find(ordre.Kunde.ID);
                        //ordre.OrdreLinjer.Clear();
                        //kunde.Ordrer.Remove(ordre);

                        foreach (var ordrelinje in ordre.OrdreLinjer.ToList())
                        {
                            db.OrdreLinjer.Remove(ordrelinje);
                        }


                        var endring = new DBEndring()
                        {
                            Tidspunkt        = DateTime.Now,
                            EndringOperasjon = "Ordre med følgende ID:",
                            endring          = $"{ordre.ID} er slettet"
                        };
                        db.Ordrer.Remove(ordre);
                        db.Endringer.Add(endring);
                        db.SaveChanges();
                        return(true);
                    }
                    return(false);
                }
            }
            catch (Exception ex)
            {
                DBLog.ErrorToFile("Feil oppstått ved sletting av ordre", "DBKunde:SlettOrdre", ex);
                return(false);
            }
        }
示例#12
0
        //Endre Avgang
        public bool EndreAvgang(Avgang innAvgang)
        {
            try
            {
                DBAvgang avgang = _db.Avgang.FirstOrDefault(a => a.AId == innAvgang.AId);


                if (avgang == null)
                {
                    return(false);
                }

                avgang.Avgangstid = innAvgang.Avgangstid;
                avgang.Spor       = innAvgang.Spor;
                avgang.Linje      = innAvgang.Linje;


                var endring = new DBEndring()
                {
                    Tidspunkt        = DateTime.Now,
                    EndringOperasjon = "En avgang har blitt endret: ",
                    Endring          = $"{avgang.AId}, {avgang.Avgangstid} {avgang.Spor}, {avgang.Linje}"
                };

                _db.Endring.Add(endring);
                _db.Avgang.Update(avgang);
                // Save changes in database
                _db.SaveChanges();
                return(true);
            }


            catch (Exception feil)
            {
                DBLog.ErrorToFile("Feil oppstått når en avgang skulle endres", "DBAvgang:EndreAvgang", feil);
                return(false);
            }
        }
示例#13
0
        //Endre stasjon
        public bool EndreStasjon(Stasjon innStasjon)
        {
            try
            {
                DBStasjon stasjon = _db.Strekning.FirstOrDefault(s => s.SId == innStasjon.SId);

                if (stasjon == null)
                {
                    return(false);
                }

                stasjon.Stasjon = innStasjon.StasjonNavn;

                if (_db.Strekning.Any(s => s.Stasjon == innStasjon.StasjonNavn))
                {
                    return(false);
                }

                var endring = new DBEndring()
                {
                    Tidspunkt        = DateTime.Now,
                    EndringOperasjon = "En stasjon har blitt endret: ",
                    Endring          = $"[{stasjon.SId}] {stasjon.Stasjon}"
                };

                _db.Endring.Add(endring);
                _db.Strekning.Update(stasjon);
                _db.SaveChanges();
                return(true);
            }
            catch (Exception feil)
            {
                DBLog.ErrorToFile("Feil oppstått når en stasjon skulle blitt endret", "DBStasjon:EndreStasjon", feil);
                return(false);
            }
        }
示例#14
0
        public bool EndreFilm(Film innFilm)
        {
            try
            {
                using (var db = new DB())
                {
                    var dbFilm = db.Filmer.Find(innFilm.ID);
                    if (dbFilm != null)
                    {
                        innFilm            = LastOppBilde(innFilm);
                        dbFilm.Filmnavn    = innFilm.Filmnavn;
                        dbFilm.Beskrivelse = innFilm.Beskrivelse;
                        dbFilm.Fremhevet   = innFilm.Fremhevet;
                        dbFilm.Pris        = innFilm.Pris;

                        if (innFilm.Filmbilde != null)
                        {
                            dbFilm.Filmbilde = innFilm.Filmbilde;
                        }
                        if (innFilm.Fremhevet == true && innFilm.FremhevetBilde != null)
                        {
                            dbFilm.FremhevetBilde = innFilm.FremhevetBilde;
                        }

                        var filmSjanger = dbFilm.Sjanger;
                        filmSjanger.Clear();
                        string[] sjangre = Regex.Split(innFilm.Sjanger, " *, *");
                        foreach (var sjanger in sjangre)
                        {
                            var funnetSjanger = db.Sjangre.Where(s => s.sjanger == sjanger).FirstOrDefault();
                            if (funnetSjanger == null)
                            {
                                var nySjanger = new DBSjanger();
                                nySjanger.sjanger = sjanger;
                                filmSjanger.Add(nySjanger);
                                db.Sjangre.Add(nySjanger);
                            }
                            else
                            {
                                filmSjanger.Add(funnetSjanger);
                            }
                        }

                        var endring = new DBEndring()
                        {
                            Tidspunkt        = DateTime.Now,
                            EndringOperasjon = "En film har blitt endret: ",
                            endring          = $"{innFilm.ID}, {innFilm.Filmnavn} {innFilm.Fremhevet}, {innFilm.Filmbilde}, {innFilm.Beskrivelse}"
                        };

                        db.Endringer.Add(endring);
                        dbFilm.Sjanger = filmSjanger;
                        db.SaveChanges();

                        return(true);
                    }
                    return(false);
                }
            }
            catch (Exception ex)
            {
                DBLog.ErrorToFile("Feil oppstått når en film skulle endres", "DBFilm:EndreFilm", ex);

                return(false);
            }
        }
示例#15
0
        public bool Registrer(KundeRegistreringViewModel innKunde)
        {
            try
            {
                using (var db = new DB())
                {
                    byte[] salt = LagSalt();
                    byte[] hash = LagHash(innKunde.Passord, salt);

                    var SjekkEpost = Finn(innKunde.Epost);

                    if (SjekkEpost == null)
                    {
                        var nyKunde = new DBKunde()
                        {
                            Fornavn     = innKunde.Fornavn,
                            Etternavn   = innKunde.Etternavn,
                            Passord     = LagHash(innKunde.Passord, salt),
                            Adresse     = innKunde.Adresse,
                            Fodselsdag  = innKunde.Fodselsdag,
                            Epost       = innKunde.Epost,
                            Mobilnummer = innKunde.Mobilnummer,
                            ErAdmin     = false,
                            Salt        = salt
                        };

                        var postSted = db.Poststeder.Find(innKunde.Postnummer);

                        if (postSted == null)
                        {
                            var poststed = new DBPoststed();
                            poststed.Postnr   = innKunde.Postnummer;
                            poststed.Poststed = innKunde.Poststed;

                            nyKunde.Poststed = poststed;
                        }
                        else
                        {
                            nyKunde.Poststed = postSted;
                        }
                        var endring = new DBEndring()
                        {
                            Tidspunkt        = DateTime.Now,
                            EndringOperasjon = "Ny kunde: ",
                            endring          = $"{nyKunde.Fornavn} {nyKunde.Etternavn}, {nyKunde.Adresse}, {nyKunde.Epost}, {nyKunde.Poststed.Poststed}, {nyKunde.Poststed.Postnr}"
                        };
                        db.Endringer.Add(endring);
                        db.Kunder.Add(nyKunde);
                        db.SaveChanges();
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }
            catch (Exception e)
            {
                DBLog.ErrorToFile("Feil oppstått når kunden skulle registreres", "DBKunde:Registrer", e);
                return(false);
            }
        }