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); } }
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); } }
// 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); } }
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); } }
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); } }
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); } }
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); }