public bool leggTilStasjonPaaBane(string avgang, int stasjonID, int baneID) { var db = new DB(); Stasjon innStasjon = db.Stasjon.Find(stasjonID); Bane innBane = db.Bane.Find(baneID); var nyStasjonPaaBane = new StasjonPaaBane() { Stasjon = innStasjon, Bane = innBane, Avgang = avgang }; using (db) { try { db.StasjonPaaBane.Add(nyStasjonPaaBane); //legger til den nye StasjonPaaBane i Bane innBane.StasjonPaaBane.Add(nyStasjonPaaBane); db.SaveChanges(); return(true); } catch (Exception) { return(false); } } }
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); } }
public bool slettStasjon(int stasjonID) { using (var db = new DB()) { try { Stasjon stasjon = db.Stasjon.Find(stasjonID); //sletter alle StasjonPaaBane som inneholder stasjonen som slettes List <StasjonPaaBane> slettStasjonPaaBaner = new List <StasjonPaaBane>(); foreach (StasjonPaaBane s in db.StasjonPaaBane) { if (s.Stasjon.StasjonsID == stasjonID) { slettStasjonPaaBaner.Add(s); } } foreach (StasjonPaaBane s in slettStasjonPaaBaner) { db.StasjonPaaBane.Remove(s); } db.Stasjon.Remove(stasjon); db.SaveChanges(); return(true); } catch (Exception) { return(false); } } }
// ----------------------------------------------------------------------------------------- //Metoder for å hente stasjonsnavn, tidspunkt o.l. til bestillingsview public String hentStasjonsNavn(int id) { Stasjon stasjon = db.Stasjon.Find(id); String stasjonNavn = stasjon.Stasjonsnavn; return(stasjonNavn); }
public List <Stasjon> HentAlleStasjoner() { try { var alleStasjoner = _db.Strekning.ToList(); var stasjoner = new List <Stasjon>(); foreach (var stasjon in alleStasjoner) { var enStasjon = new Stasjon() { SId = stasjon.SId, StasjonNavn = stasjon.Stasjon }; stasjoner.Add(enStasjon); } return(stasjoner); } catch (Exception feil) { DBLog.ErrorToFile("Feil oppstått når en HentAlleStasjoner-metoden skulle hente ut alle stasjonene", "DBStasjon:HentAlleStasjoner", feil); return(null); } }
public Stasjon hentStasjon(String Stasjonsnavn) { Stasjon stasjon = new Stasjon(); foreach (Stasjon s in db.Stasjon) { if (s.Stasjonsnavn == Stasjonsnavn) { stasjon = s; } } return(stasjon); }
public bool endreStasjon(int stasjonID, stasjon innStasjon) { using (var db = new DB()) { try { Stasjon endreStasjon = db.Stasjon.Find(stasjonID); endreStasjon.Stasjonsnavn = innStasjon.Stasjonsnavn; db.SaveChanges(); return(true); } catch (Exception) { return(false); } } }
public Stasjon HentEnStasjon(int SId) { try { DBStasjon stasjon = _db.Strekning.FirstOrDefault(s => s.SId == SId); var enStasjon = new Stasjon() { SId = stasjon.SId, StasjonNavn = stasjon.Stasjon }; return(enStasjon); } catch (Exception feil) { DBLog.ErrorToFile("Feil oppstått når HentEnStasjon-metoden skulle hente ut en stasjon.", "DBStasjon:HentEnStasjon", feil); return(null); } }
// ------------------------------------------------------------------------------------ // Metoder for å endre, slette og legge til stasjoner i DB public bool leggTilStasjon(stasjon innStasjon) { var nyStasjon = new Stasjon() { Stasjonsnavn = innStasjon.Stasjonsnavn }; using (var db = new DB()) { try { db.Stasjon.Add(nyStasjon); db.SaveChanges(); return(true); } catch (Exception) { return(false); } } }
public List <String> hentTilStasjonsNavn(String fraStasjonNavn) { Stasjon fraStasjon = hentStasjon(fraStasjonNavn); var fraStasjonBaneListe = new List <Bane>(); //henter alle banene som inneholder FraStasjon foreach (Bane bane in db.Bane) { foreach (StasjonPaaBane stasjonPaaBane in bane.StasjonPaaBane) { if (stasjonPaaBane.Stasjon == fraStasjon) { fraStasjonBaneListe.Add(bane); } } } var tilStasjoner = new List <String>(); //legger til alle stasjonene som kjører fra FraStasjon i en liste foreach (Bane bane in fraStasjonBaneListe) { foreach (StasjonPaaBane stasjonPaaBane in bane.StasjonPaaBane) { //hindrer at FraStasjon blir lagt til i lista if (stasjonPaaBane.Stasjon != fraStasjon) { if (!tilStasjoner.Contains(stasjonPaaBane.Stasjon.Stasjonsnavn)) { tilStasjoner.Add(stasjonPaaBane.Stasjon.Stasjonsnavn); } } } } return(tilStasjoner); }
public bool endreStasjonPaaBane(stasjonPaaBane innStasjonPaaBane, int stasjonPaaBaneID) { using (var db = new DB()) { try { StasjonPaaBane EndreStasjonPaaBane = db.StasjonPaaBane.Find(stasjonPaaBaneID); Stasjon innStasjon = db.Stasjon.Find(innStasjonPaaBane.StasjonsID); Bane innBane = db.Bane.Find(innStasjonPaaBane.BaneID); EndreStasjonPaaBane.Stasjon = innStasjon; EndreStasjonPaaBane.Bane = innBane; EndreStasjonPaaBane.Avgang = innStasjonPaaBane.Avgang; db.SaveChanges(); return(true); } catch (Exception) { return(false); } } }
//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); } }
public List <String> hentTidspunkt(String fraStasjon, String tilStasjon, String dato) { Stasjon FraStasjon = hentStasjon(fraStasjon); Stasjon TilStasjon = hentStasjon(tilStasjon); var FraBaner = new List <Bane>(); foreach (Bane bane in db.Bane) { foreach (StasjonPaaBane stasjonPaaBane in bane.StasjonPaaBane) { if (stasjonPaaBane.Stasjon == FraStasjon) { FraBaner.Add(bane); } } } var FraTilBaner = new List <Bane>(); foreach (Bane bane in FraBaner) { foreach (StasjonPaaBane stasjonPaaBane in bane.StasjonPaaBane) { if (stasjonPaaBane.Stasjon == TilStasjon) { FraTilBaner.Add(bane); } } } var Avgangstider = new List <String>(); //Finner nåværende tidspunkt og konverter til double String naaTidspunktString = DateTime.Now.ToString("HH:mm"); naaTidspunktString = naaTidspunktString.Replace(':', ','); //sjekker om nåværende tidspunkt kan konverteres til double, ellers setter den til 0 double naaTidspunkt; if (!Double.TryParse(naaTidspunktString, out naaTidspunkt)) { naaTidspunkt = 0.0; } //Finner dagens dato DateTime dagensDato = DateTime.Now.Date; //Konverterer valgt dato til DateTime DateTime valgDato = DateTime.Parse(dato); //Sammenligner dagens dato med valgt dato. Valgt dato skal aldri være lavere enn dagens dato int sammenligning = DateTime.Compare(valgDato, dagensDato); //Hvis valgt dato er senere enn dagens dato, lister ut alle tidspunkt if (sammenligning > 0) { foreach (Bane bane in FraTilBaner) { foreach (StasjonPaaBane stasjonPaaBane in bane.StasjonPaaBane) { if (stasjonPaaBane.Stasjon == FraStasjon) { if (!Avgangstider.Contains(stasjonPaaBane.Avgang)) { Avgangstider.Add(stasjonPaaBane.Avgang); } } } } } //Hvis dato valgt er samme som dagens dato, lister kun ut tidspunkt som ikke har vært if (sammenligning == 0) { foreach (Bane bane in FraTilBaner) { foreach (StasjonPaaBane stasjonPaaBane in bane.StasjonPaaBane) { if (stasjonPaaBane.Stasjon == FraStasjon) { //Finner avgangstidene, sjekker om de kan konverteres til double og sammenligner med nåværede tidspunkt String avgangsTidspunktString = stasjonPaaBane.Avgang; avgangsTidspunktString = avgangsTidspunktString.Replace(':', ','); double avgangsTidspunkt; if (!Double.TryParse(avgangsTidspunktString, out avgangsTidspunkt)) { avgangsTidspunkt = 0.0; } if (naaTidspunkt < avgangsTidspunkt) { if (!Avgangstider.Contains(stasjonPaaBane.Avgang)) { Avgangstider.Add(stasjonPaaBane.Avgang); } } } } } } return(Avgangstider); }
public List <String> hentReturTidspunkt(String fraStasjon, String tilStasjon, string dato, string returDato, string avgang) { Stasjon FraStasjon = hentStasjon(fraStasjon); Stasjon TilStasjon = hentStasjon(tilStasjon); var FraBaner = new List <Bane>(); foreach (Bane bane in db.Bane) { foreach (StasjonPaaBane stasjonPaaBane in bane.StasjonPaaBane) { if (stasjonPaaBane.Stasjon == FraStasjon) { FraBaner.Add(bane); } } } var FraTilBaner = new List <Bane>(); foreach (Bane bane in FraBaner) { foreach (StasjonPaaBane stasjonPaaBane in bane.StasjonPaaBane) { if (stasjonPaaBane.Stasjon == TilStasjon) { FraTilBaner.Add(bane); } } } var Avgangstider = new List <String>(); //Konverterer avgangstidspunkt til double String avgangsTidspunktString = avgang; avgangsTidspunktString = avgangsTidspunktString.Replace(':', ','); double avgangstidspunkt; if (!Double.TryParse(avgangsTidspunktString, out avgangstidspunkt)) { avgangstidspunkt = 0.0; } //Konverterer avgangsdato til Datetime DateTime avgangsDato = DateTime.Parse(dato); //Konverterer returdato til DateTime DateTime returdato = DateTime.Parse(returDato); //Sammenligner dagens dato med valgt dato. Returdato skal aldri være lavere enn avgangsdato int sammenligning = DateTime.Compare(returdato, avgangsDato); //Hvis valgt dato er senere enn dagens dato, lister ut alle tidspunkt if (sammenligning > 0) { foreach (Bane bane in FraTilBaner) { foreach (StasjonPaaBane stasjonPaaBane in bane.StasjonPaaBane) { if (stasjonPaaBane.Stasjon == FraStasjon) { if (!Avgangstider.Contains(stasjonPaaBane.Avgang)) { Avgangstider.Add(stasjonPaaBane.Avgang); } } } } } //Hvis avgangsdato og returdato er like, lister kun ut tidspunkt som er senere enn avgangstiden if (sammenligning == 0) { foreach (Bane bane in FraTilBaner) { foreach (StasjonPaaBane stasjonPaaBane in bane.StasjonPaaBane) { if (stasjonPaaBane.Stasjon == FraStasjon) { //Finner avgangstidene, sjekker om de kan konverteres til double og sammenligner med avgangtiden String returAvgangstidspunktString = stasjonPaaBane.Avgang; returAvgangstidspunktString = returAvgangstidspunktString.Replace(':', ','); double returAvgangstidspunkt; if (!Double.TryParse(returAvgangstidspunktString, out returAvgangstidspunkt)) { returAvgangstidspunkt = 0.0; } if (avgangstidspunkt < returAvgangstidspunkt) { if (!Avgangstider.Contains(stasjonPaaBane.Avgang)) { Avgangstider.Add(stasjonPaaBane.Avgang); } } } } } } return(Avgangstider); }
protected override void Seed(DB context) { // Oppretter stasjoner var OsloS = new Stasjon { Stasjonsnavn = "Oslo S" }; var Nationalteateret = new Stasjon { Stasjonsnavn = "Nationalteateret" }; var Skoyen = new Stasjon { Stasjonsnavn = "Skøyen" }; var Asker = new Stasjon { Stasjonsnavn = "Asker" }; var Lillestrom = new Stasjon { Stasjonsnavn = "Lillestrøm" }; var Gardermoen = new Stasjon { Stasjonsnavn = "Gardermoen" }; var Fredrikstad = new Stasjon { Stasjonsnavn = "Fredrikstad" }; var Jessheim = new Stasjon { Stasjonsnavn = "Jessheim" }; var Stavanger = new Stasjon { Stasjonsnavn = "Stavanger" }; // Oppretter Banene var L1 = new Bane { Banenavn = "L1", StasjonPaaBane = new List <StasjonPaaBane>() }; var R10 = new Bane { Banenavn = "R10", StasjonPaaBane = new List <StasjonPaaBane>() }; var R20 = new Bane { Banenavn = "R20", StasjonPaaBane = new List <StasjonPaaBane>() }; var S20 = new Bane { Banenavn = "Sørlandsbanen", StasjonPaaBane = new List <StasjonPaaBane>() }; //---------------- Her opprettes StasjonPaaBane objekt på bane L1-------------------- var OslosL1kl12 = new StasjonPaaBane { Stasjon = OsloS, Bane = L1, Avgang = "12:00" }; var OslosL1kl14 = new StasjonPaaBane { Stasjon = OsloS, Bane = L1, Avgang = "14:00" }; var NationalL1kl12 = new StasjonPaaBane { Stasjon = Nationalteateret, Bane = L1, Avgang = "12:05" }; var NationalL1kl14 = new StasjonPaaBane { Stasjon = Nationalteateret, Bane = L1, Avgang = "14:05" }; var SkoyenL1kl12 = new StasjonPaaBane { Stasjon = Skoyen, Bane = L1, Avgang = "12:15" }; var SkoyenL1kl14 = new StasjonPaaBane { Stasjon = Skoyen, Bane = L1, Avgang = "14:15" }; var AskerL1kl12 = new StasjonPaaBane { Stasjon = Skoyen, Bane = L1, Avgang = "12:25" }; var AskerL1kl14 = new StasjonPaaBane { Stasjon = Skoyen, Bane = L1, Avgang = "14:25" }; //Legger til stasjonene i L1 L1.StasjonPaaBane.Add(OslosL1kl12); L1.StasjonPaaBane.Add(OslosL1kl14); L1.StasjonPaaBane.Add(NationalL1kl12); L1.StasjonPaaBane.Add(NationalL1kl14); L1.StasjonPaaBane.Add(SkoyenL1kl12); L1.StasjonPaaBane.Add(SkoyenL1kl14); L1.StasjonPaaBane.Add(AskerL1kl12); L1.StasjonPaaBane.Add(AskerL1kl14); // --------------------------Oppretter Sørlandsbanen S20 -------------------- var OslosS20kl1430 = new StasjonPaaBane { Stasjon = OsloS, Bane = S20, Avgang = "14:30" }; var OslosS20kl19 = new StasjonPaaBane { Stasjon = OsloS, Bane = S20, Avgang = "19:00" }; var StavS20kl08 = new StasjonPaaBane { Stasjon = Stavanger, Bane = S20, Avgang = "08:00" }; var StavS20kl16 = new StasjonPaaBane { Stasjon = Stavanger, Bane = S20, Avgang = "16:00" }; var AskerS20kl0830 = new StasjonPaaBane { Stasjon = Asker, Bane = S20, Avgang = "08:30" }; var AskerS20kl1930 = new StasjonPaaBane { Stasjon = Asker, Bane = S20, Avgang = "19:30" }; S20.StasjonPaaBane.Add(OslosS20kl1430); S20.StasjonPaaBane.Add(OslosS20kl19); S20.StasjonPaaBane.Add(StavS20kl08); S20.StasjonPaaBane.Add(StavS20kl16); S20.StasjonPaaBane.Add(AskerS20kl0830); S20.StasjonPaaBane.Add(AskerS20kl1930); // -----------------------------Bane R10 -------------------------------------- var OslosR10kl10 = new StasjonPaaBane { Stasjon = OsloS, Bane = R10, Avgang = "10:00" }; var OslosR10kl13 = new StasjonPaaBane { Stasjon = OsloS, Bane = R10, Avgang = "13:00" }; var JessR10kl11 = new StasjonPaaBane { Stasjon = Jessheim, Bane = R10, Avgang = "11:00" }; var JessR10kl14 = new StasjonPaaBane { Stasjon = Jessheim, Bane = R10, Avgang = "14:00" }; var GarR10kl1130 = new StasjonPaaBane { Stasjon = Gardermoen, Bane = R10, Avgang = "11:30" }; var GarR10kl1430 = new StasjonPaaBane { Stasjon = Gardermoen, Bane = R10, Avgang = "14:30" }; // R10 Bane med stasjoner R10.StasjonPaaBane.Add(OslosR10kl10); R10.StasjonPaaBane.Add(OslosR10kl13); R10.StasjonPaaBane.Add(JessR10kl11); R10.StasjonPaaBane.Add(JessR10kl14); R10.StasjonPaaBane.Add(GarR10kl1130); R10.StasjonPaaBane.Add(GarR10kl1430); // -----------------------------Bane R20 -------------------------------------- var OslosR20kl17 = new StasjonPaaBane { Stasjon = OsloS, Bane = R20, Avgang = "17:00" }; var OslosR20kl19 = new StasjonPaaBane { Stasjon = OsloS, Bane = R20, Avgang = "19:00" }; var FredR20kl18 = new StasjonPaaBane { Stasjon = Fredrikstad, Bane = R20, Avgang = "18:00" }; var FredR20kl20 = new StasjonPaaBane { Stasjon = Fredrikstad, Bane = R20, Avgang = "20:00" }; var GarR20kl16 = new StasjonPaaBane { Stasjon = Gardermoen, Bane = R20, Avgang = "16:00" }; var GarR20kl18 = new StasjonPaaBane { Stasjon = Gardermoen, Bane = R20, Avgang = "18:00" }; R20.StasjonPaaBane.Add(OslosR20kl17); R20.StasjonPaaBane.Add(OslosR20kl19); R20.StasjonPaaBane.Add(FredR20kl18); R20.StasjonPaaBane.Add(FredR20kl20); R20.StasjonPaaBane.Add(GarR20kl16); R20.StasjonPaaBane.Add(GarR20kl18); // ---------------------Legger til adminBruker ----------------------------------- var db = new AdminDBmetoder(); var brukernavn = "Admin"; var passord = "Admin"; string salt = db.lagSalt(); var passordOgSalt = passord + salt; byte[] passordDB = db.lagHash(passordOgSalt); var adminBruker = new dbBruker { Brukernavn = brukernavn, Passord = passordDB, Salt = salt }; // ---------------------- Legger til context i db --------------------------------- context.dbBruker.Add(adminBruker); context.Bane.Add(L1); context.Bane.Add(S20); context.Bane.Add(R10); context.Bane.Add(R20); base.Seed(context); }