public async Task <bool> LagBestilling(int avgangId, int antall, int brukerId) { try { var nyBestillingRad = new Bestillinger(); Avganger ValgtAvgang = await _db.Avganger.FindAsync(avgangId); Brukere ValgtBruker = await _db.Brukere.FindAsync(brukerId); if (ValgtAvgang != null) { nyBestillingRad.Avgang = ValgtAvgang; nyBestillingRad.Antall = antall; nyBestillingRad.Bruker = ValgtBruker; _db.Bestillinger.Add(nyBestillingRad); await _db.SaveChangesAsync(); return(true); } else { return(false); } } catch { return(false); } }
//Gjeste brukerer sitt passord er tilfeldig, etter som de bare er midlertidige entiteter //Uten mulighet til å "logge inn". public async Task <Brukere> LagGjesteBruker() { try { Random rnd = new Random(); int tilfeldig = rnd.Next(); string passord = "Gjest" + tilfeldig; byte[] salt = BrukerRepository.LagSalt(); byte[] hash = BrukerRepository.LagHash(passord, salt); Brukere gjesteBruker = new Brukere { Brukernavn = "Gjest", Passord = hash, Salt = salt }; await _db.Brukere.AddAsync(gjesteBruker); await _db.SaveChangesAsync(); return(gjesteBruker); } catch { return(null); } }
public async Task <bool> EndreBestilling(int bestillingId, int nyAvgangId, int nyttAntall, int nyBrukerId) { try { Bestillinger endretBestilling = await _db.Bestillinger.FirstOrDefaultAsync(b => b.Id == bestillingId); if (endretBestilling != null) { Avganger nyAvgang = await _db.Avganger.FirstOrDefaultAsync(a => a.Id == nyAvgangId); Brukere nyBruker = await _db.Brukere.FirstOrDefaultAsync(b => b.Id == nyBrukerId); if (nyAvgang != null && nyBruker != null) { endretBestilling.Avgang = nyAvgang; endretBestilling.Antall = nyttAntall; endretBestilling.Bruker = nyBruker; await _db.SaveChangesAsync(); return(true); } return(false); } return(false); } catch { return(false); } }
//Endrer brukernavn, denne er ikke i bruk //Kan tenkes å brukes hvis man vil knytte navn til bruker public async Task <bool> EndreBrukernavn(Bruker bruker) { try { Brukere funnetBruker = await _db.Brukere.FirstOrDefaultAsync(b => b.Brukernavn == bruker.Brukernavn); if (funnetBruker != null) { funnetBruker.Brukernavn = bruker.Brukernavn; return(true); } return(false); } catch { return(false); } }
public async Task <bool> LoggInn(Bruker bruker) { try { Brukere funnetBruker = await _db.Brukere.FirstOrDefaultAsync(b => b.Brukernavn == bruker.Brukernavn); //Sjekk passordet byte[] hash = LagHash(bruker.Passord, funnetBruker.Salt); bool ok = hash.SequenceEqual(funnetBruker.Passord); if (ok) { return(true); } return(false); } catch { //_log.LogInformation(e.Message); return(false); } }
//Sletter bruker med brukerId public async Task <bool> SlettBruker(int brukerId) { try { Brukere funnetBruker = await _db.Brukere.FindAsync(brukerId); System.Diagnostics.Debug.WriteLine(funnetBruker.Id + " " + funnetBruker.Brukernavn); if (funnetBruker != null) { if (funnetBruker.Brukernavn != "Admin") { _db.Brukere.Remove(funnetBruker); await _db.SaveChangesAsync(); return(true); } } return(false); } catch { return(false); } }
public static void Initialize(IServiceScope serviceScope) { var context = serviceScope.ServiceProvider.GetService <BestillingContext>(); // må slette og opprette databasen hver gang n?r den skalinitieres (seed`es) context.Database.EnsureDeleted(); context.Database.EnsureCreated(); var stasjonerList = new List <Stasjoner> { new Stasjoner { StasjonsNavn = "Oslo", NummerPaaStopp = int.Parse("1") }, new Stasjoner { StasjonsNavn = "Sandvika", NummerPaaStopp = int.Parse("2") }, new Stasjoner { StasjonsNavn = "Asker", NummerPaaStopp = int.Parse("3") }, new Stasjoner { StasjonsNavn = "Drammen", NummerPaaStopp = int.Parse("4") }, new Stasjoner { StasjonsNavn = "Skoger", NummerPaaStopp = int.Parse("5") }, new Stasjoner { StasjonsNavn = "Sande", NummerPaaStopp = int.Parse("6") }, new Stasjoner { StasjonsNavn = "Holmestrand", NummerPaaStopp = int.Parse("7") }, new Stasjoner { StasjonsNavn = "Kopstadkrysset", NummerPaaStopp = int.Parse("8") }, new Stasjoner { StasjonsNavn = "Horten", NummerPaaStopp = int.Parse("9") } }; var avgang1 = new Avganger { Fra = stasjonerList[0].StasjonsNavn, Til = stasjonerList[1].StasjonsNavn, Tid = "07:00" }; var avgang2 = new Avganger { Fra = stasjonerList[3].StasjonsNavn, Til = stasjonerList[4].StasjonsNavn, Tid = "08:00" }; var avgang3 = new Avganger { Fra = stasjonerList[5].StasjonsNavn, Til = stasjonerList[6].StasjonsNavn, Tid = "11:00" }; var avgang4 = new Avganger { Fra = stasjonerList[7].StasjonsNavn, Til = stasjonerList[8].StasjonsNavn, Tid = "12:00" }; var avgang5 = new Avganger { Fra = stasjonerList[0].StasjonsNavn, Til = stasjonerList[1].StasjonsNavn, Tid = "14:00" }; var avgang6 = new Avganger { Fra = stasjonerList[3].StasjonsNavn, Til = stasjonerList[4].StasjonsNavn, Tid = "15:00" }; var avgang7 = new Avganger { Fra = stasjonerList[5].StasjonsNavn, Til = stasjonerList[6].StasjonsNavn, Tid = "18:00" }; var avgang8 = new Avganger { Fra = stasjonerList[7].StasjonsNavn, Til = stasjonerList[8].StasjonsNavn, Tid = "21:00" }; var bestilling1 = new Bestillinger { Fra = "Oslo", Til = "Drammen", Tid = "07:00", Pris = double.Parse("50"), Dato = "2021-01-13" }; var bestilling2 = new Bestillinger { Fra = "Drammen", Til = "Horten", Tid = "08:00", Pris = double.Parse("50"), Dato = "2021-02-20" }; foreach (Stasjoner s in stasjonerList) { context.Stasjoner.Add(s); } /* * context.Stasjoner.Add(stasjon1); * context.Stasjoner.Add(stasjon2); * context.Stasjoner.Add(stasjon3); */ context.Avganger.Add(avgang1); context.Avganger.Add(avgang2); context.Bestillinger.Add(bestilling1); context.Bestillinger.Add(bestilling2); var db = serviceScope.ServiceProvider.GetService <BestillingContext>(); var adminBruker = new Brukere(); adminBruker.Brukernavn = "Admin1"; string passord = "Passord1"; byte[] salt = BrukerRepository.Salt(); byte[] hash = BrukerRepository.Hash(passord, salt); adminBruker.Passord = hash; adminBruker.Salt = salt; db.Brukere.Add(adminBruker); context.SaveChanges(); }