Esempio n. 1
0
        public async Task <bool> FjernAvgang(int id)
        {
            try
            {
                Avganger avgang = await _db.Avganger.FindAsync(id); // Avgangen som skal slettes

                // Sletter alle Ordre og Ordrelinjer som tilhører Avgangen fra DB
                List <Ordre> ordre = await _db.Ordre.Where(o => o.Avgang == avgang).ToListAsync();

                foreach (Ordre o in ordre)
                {
                    List <Ordrelinjer> ordrelinjer = await _db.Ordrelinjer.Where(ol => ol.Ordre == o).ToListAsync();

                    foreach (Ordrelinjer ol in ordrelinjer)
                    {
                        _db.Ordrelinjer.Remove(ol);
                    }
                    _db.Ordre.Remove(o);
                }

                _db.Avganger.Remove(avgang);    // Sletter Avganger-objekter fra DB
                await _db.SaveChangesAsync();

                return(true);
            }
            catch (Exception e)
            {
                _log.LogInformation(e.Message);
                return(false);
            }
        }
Esempio n. 2
0
        public async Task <bool> FjernRuteStopp(int Id)
        {
            try
            {
                // Fjerner aktuelt RuteStopp
                RuteStopp ruteStoppTilFjerning = await _db.RuteStopp.FindAsync(Id);

                _db.Remove(ruteStoppTilFjerning);
                int    stoppNummer = ruteStoppTilFjerning.StoppNummer;
                string linjekode   = ruteStoppTilFjerning.Rute.Linjekode;

                // Henter alle RuteStopp fra samme rute som har likt eller høyre stoppnummer enn det som ble fjernet
                List <RuteStopp> endreStoppNummer =
                    await LiktEllerSenereStoppNummer(stoppNummer, linjekode);

                // Subtraherer alle med stoppnummer som er større eller lik det fjernede rutestoppet med 1
                foreach (RuteStopp rs in endreStoppNummer)
                {
                    rs.StoppNummer--;
                }
                await _db.SaveChangesAsync();

                return(true);
            }
            catch (Exception e)
            {
                _log.LogInformation(e.Message);
                return(false);
            }
        }
Esempio n. 3
0
        // Metode for å legge til en ny rute i DB
        public async Task <bool> NyRute(Ruter rute)
        {
            try
            {
                _db.Ruter.Add(rute);
                await _db.SaveChangesAsync();  // Lagrer endringene

                return(true);
            }
            catch (Exception e)
            {
                _log.LogInformation(e.Message);
                return(false);
            }
        }
Esempio n. 4
0
        public async Task <bool> SlettOrdre(int id)
        {
            try
            {
                // Finner ordren som skal slettes
                Ordre ordre = await _db.Ordre.FindAsync(id);

                // Finner ordrens tillhørende ordrelinjer og putter dem i en liste
                List <Ordrelinjer> ordrelinjeListe = await _db.Ordrelinjer
                                                     .Where(o => o.Ordre == ordre)
                                                     .ToListAsync();

                // Går gjennom listen, og sletter hver enkelt ordelinje
                foreach (Ordrelinjer ordrelinje in ordrelinjeListe)
                {
                    ordre.Avgang.SolgteBilletter--;
                    _db.Ordrelinjer.Remove(ordrelinje);
                }

                // Sletter ordren
                _db.Ordre.Remove(ordre);

                await _db.SaveChangesAsync();

                return(true);
            }
            catch (Exception e)
            {
                _log.LogInformation(e.Message);
                return(false);
            }
        }
Esempio n. 5
0
        public async Task <bool> NyAdmin(BrukerModel bruker)
        {
            try
            {
                byte[] salt        = LagSalt();
                byte[] passordHash = LagHash(bruker.Passord, salt);

                Brukere nyAdmin = new Brukere
                {
                    Brukernavn = bruker.Brukernavn,
                    Passord    = passordHash,
                    Salt       = salt,
                    Tilgang    = "Admin"
                };

                _db.Brukere.Add(nyAdmin);
                await _db.SaveChangesAsync();

                return(true);
            }
            catch (Exception e)
            {
                _log.LogInformation(e.Message);
                return(false);
            }
        }
Esempio n. 6
0
        public async Task <bool> SettInnData(Buss buss)

        {
            try
            {
                Reise funnetReise = await _db.Reiser.FirstOrDefaultAsync(r => r.reiserFra == buss.reiserFra && r.reiserTil == buss.reiserTil &&
                                                                         r.dag == buss.dag && r.tidspunkt == buss.tidspunkt && r.pris == buss.pris);

                Kunde funnetKunde = await _db.Kunder.FirstOrDefaultAsync(k => k.epost == buss.epost);

                var bestilling = new Bestilling
                {
                    reiser = funnetReise
                };
                if (funnetKunde == null)
                {
                    var kunde = new Kunde
                    {
                        fornavn   = buss.fornavn,
                        etternavn = buss.etternavn,
                        epost     = buss.epost
                    };


                    kunde.Bestilling = new List <Bestilling>();
                    kunde.Bestilling.Add(bestilling);
                    _db.Kunder.Add(kunde);
                    await _db.SaveChangesAsync();

                    return(true);
                }
                else
                {
                    funnetKunde.Bestilling.Add(bestilling);
                    await _db.SaveChangesAsync();

                    return(true);
                }
            }
            catch
            {
                return(false);
            }
        }
        public async Task <bool> NyBillettype(Billettyper innBillettype)
        {
            try
            {
                Billettyper nyBillettype = new Billettyper
                {
                    Billettype = innBillettype.Billettype,
                    Rabattsats = innBillettype.Rabattsats
                };
                _db.Billettyper.Add(nyBillettype);
                await _db.SaveChangesAsync();

                return(true);
            }
            catch (Exception e)
            {
                _log.LogInformation(e.Message);
                return(false);
            }
        }
Esempio n. 8
0
        public async Task <bool> OppdaterStoppnavn(Stopp innStopp)
        {
            if (innStopp == null)
            {
                _log.LogInformation("Det er ikke noe stoppobjekt å endre navn på!");
                return(false);
            }
            Stopp stopp = await _db.Stopp.FindAsync(innStopp.Id);

            stopp.Navn = innStopp.Navn;
            await _db.SaveChangesAsync();

            return(true);
        }