public async Task <bool> OpprettTur(Tur innTur) { try { var nyTurRad = new Turer(); nyTurRad.Dato = innTur.Dato; nyTurRad.Tid = innTur.Tid; nyTurRad.BarnePris = innTur.BarnePris; nyTurRad.VoksenPris = innTur.VoksenPris; bool startStasjonFunnet = false; List <Stasjon> alleStasjoner = await _db.Stasjoner.ToListAsync(); foreach (var stasjon in alleStasjoner) { if (innTur.StartStasjon.Equals(stasjon.StasjonsNavn)) { nyTurRad.StartStasjon = stasjon; startStasjonFunnet = true; } } if (!startStasjonFunnet) { var startStasjonRad = new Stasjon(); startStasjonRad.StasjonsNavn = innTur.StartStasjon; nyTurRad.StartStasjon = startStasjonRad; } bool endeStasjonFunnet = false; foreach (var stasjon in alleStasjoner) { if (innTur.EndeStasjon.Equals(stasjon.StasjonsNavn)) { nyTurRad.EndeStasjon = stasjon; endeStasjonFunnet = true; } } if (!endeStasjonFunnet) { var endeStasjonRad = new Stasjon(); endeStasjonRad.StasjonsNavn = innTur.EndeStasjon; nyTurRad.EndeStasjon = endeStasjonRad; } _db.Turer.Add(nyTurRad); await _db.SaveChangesAsync(); return(true); } catch (Exception e) { _log.LogInformation(e.Message); return(false); } }
public async Task <bool> EndreTur(Tur endreTur) { try { var tur = await _db.Turer.FindAsync(endreTur.TurId); //finner turen med id-en i db tur.Tid = endreTur.Tid; //setter verdiene fra input (endreTur) til tur tur.Dato = endreTur.Dato; tur.BarnePris = endreTur.BarnePris; tur.VoksenPris = endreTur.VoksenPris; bool startStasjonFunnet = false; List <Stasjon> alleStasjoner = await _db.Stasjoner.ToListAsync(); //henter alle stasjonene foreach (var stasjon in alleStasjoner) //looper gjennom alle stasjonene { if (endreTur.StartStasjon.Equals(stasjon.StasjonsNavn)) //sjekker om stasjonen fra input er lik stasjon i db { tur.StartStasjon = stasjon; //hvis finner lik stasjon, blir stasjon satt til en som allerede finnes startStasjonFunnet = true; if (endreTur.StartStasjon == endreTur.EndeStasjon) { return(false); } } } if (!startStasjonFunnet) { var startStasjonRad = new Stasjon(); //hvis stasjon ikke fantes fra før av, blir ny stasjon opprettet startStasjonRad.StasjonsNavn = endreTur.StartStasjon; //Nytt stasjonsnavn legges til i db tur.StartStasjon = startStasjonRad; //tur sin startstasjon settes lik stasjonen fra input (endreTur) } bool endeStasjonFunnet = false; foreach (var stasjon in alleStasjoner) { if (endreTur.EndeStasjon.Equals(stasjon.StasjonsNavn)) { tur.EndeStasjon = stasjon; endeStasjonFunnet = true; if (endreTur.EndeStasjon == endreTur.StartStasjon) { return(false); } } } if (!endeStasjonFunnet) { var endeStasjonRad = new Stasjon(); endeStasjonRad.StasjonsNavn = endreTur.EndeStasjon; tur.EndeStasjon = endeStasjonRad; } await _db.SaveChangesAsync(); return(true); } catch (Exception e) { _log.LogInformation(e.Message); return(false); } }
public async Task <bool> EndreTur(Tur endreTur) { try { var tur = await _db.Turer.FindAsync(endreTur.TurId); tur.Tid = endreTur.Tid; tur.Dato = endreTur.Dato; tur.BarnePris = endreTur.BarnePris; tur.VoksenPris = endreTur.VoksenPris; bool startStasjonFunnet = false; List <Stasjon> alleStasjoner = await _db.Stasjoner.ToListAsync(); foreach (var stasjon in alleStasjoner) { if (endreTur.StartStasjon.Equals(stasjon.StasjonsNavn)) { tur.StartStasjon = stasjon; startStasjonFunnet = true; if (endreTur.StartStasjon == endreTur.EndeStasjon) { return(false); } } } if (!startStasjonFunnet) { var startStasjonRad = new Stasjon(); startStasjonRad.StasjonsNavn = endreTur.StartStasjon; tur.StartStasjon = startStasjonRad; } bool endeStasjonFunnet = false; foreach (var stasjon in alleStasjoner) { if (endreTur.EndeStasjon.Equals(stasjon.StasjonsNavn)) { tur.EndeStasjon = stasjon; endeStasjonFunnet = true; if (endreTur.EndeStasjon == endreTur.StartStasjon) { return(false); } } } if (!endeStasjonFunnet) { var endeStasjonRad = new Stasjon(); endeStasjonRad.StasjonsNavn = endreTur.EndeStasjon; tur.EndeStasjon = endeStasjonRad; } await _db.SaveChangesAsync(); return(true); } catch (Exception e) { _log.LogInformation(e.Message); return(false); } }