public async Task LagreFeilInput() { var innBussbestilling = new BussBestilling { Id = 1, Fornavn = "Per", Etternavn = "Hansen", Telefonnummer = "9", Epost = "*****@*****.**", Kortnummer = "1234567890123456", AntallBarn = 2, AntallVoksne = 3, Dato = "12/12/2020", Tid = "09:00", BarnePris = 50, VoksenPris = 100, StartStasjon = "Bergen", EndeStasjon = "Oslo" }; mockRep.Setup(b => b.Lagre(innBussbestilling)).ReturnsAsync(true); var bestillingController = new BestillingController(mockRep.Object, mockLog.Object); bestillingController.ModelState.AddModelError("Telefonnummer", "Feil i inputvalidering på server"); var resultat = await bestillingController.Lagre(innBussbestilling) as BadRequestObjectResult; Assert.Equal((int)HttpStatusCode.BadRequest, resultat.StatusCode); Assert.Equal("Feil i inputvalidering på server", resultat.Value); }
public async Task LagreIkkeOK() { var innBussbestilling = new BussBestilling { Id = 1, Fornavn = "Per", Etternavn = "Hansen", Telefonnummer = "99345672", Epost = "*****@*****.**", Kortnummer = "1234567890123456", AntallBarn = 2, AntallVoksne = 3, Dato = "12/12/2020", Tid = "09:00", BarnePris = 50, VoksenPris = 100, StartStasjon = "Bergen" }; mockRep.Setup(k => k.Lagre(innBussbestilling)).ReturnsAsync(false); var bestillingController = new BestillingController(mockRep.Object, mockLog.Object); var resultat = await bestillingController.Lagre(innBussbestilling) as BadRequestObjectResult; Assert.Equal((int)HttpStatusCode.BadRequest, resultat.StatusCode); Assert.Equal("Bestilling ble ikke registrert", resultat.Value); }
public async Task <ActionResult> Lagre(BussBestilling innBussBestilling) { if (ModelState.IsValid) { bool returOk = await _db.Lagre(innBussBestilling); if (!returOk) { _log.LogInformation("Bestilling ble ikke registrert"); return(BadRequest("Bestilling ble ikke registrert")); } return(Ok("Bestilling registrert")); } _log.LogInformation("Feil i inputvalidering"); return(BadRequest("Feil i inputvalidering på server")); }
public async Task <bool> Lagre(BussBestilling innBussBestilling) { int turID = 0; List <Turer> alleTurer = await _db.Turer.ToListAsync(); foreach (var turen in alleTurer) { if (innBussBestilling.StartStasjon.Equals(turen.StartStasjon.StasjonsNavn) && innBussBestilling.EndeStasjon.Equals(turen.EndeStasjon.StasjonsNavn) && innBussBestilling.Tid.Equals(turen.Tid) && innBussBestilling.Dato.Equals(turen.Dato)) { turID = turen.TurId; } } Turer funnetTur = _db.Turer.Find(turID); double totalpris = (innBussBestilling.AntallBarn * funnetTur.BarnePris) + (innBussBestilling.AntallVoksne * funnetTur.VoksenPris); int kundeID = 0; List <Kunde> alleKunder = await _db.Kunder.ToListAsync(); foreach (var kunde in alleKunder) { if (innBussBestilling.Fornavn.Equals(kunde.Fornavn) && innBussBestilling.Etternavn.Equals(kunde.Etternavn) && innBussBestilling.Epost.Equals(kunde.Epost) && innBussBestilling.Kortnummer.Equals(kunde.Kortnummer)) { kundeID = kunde.KId; } } try { var nyBestillingRad = new Bestilling(); nyBestillingRad.AntallBarn = innBussBestilling.AntallBarn; nyBestillingRad.AntallVoksne = innBussBestilling.AntallVoksne; nyBestillingRad.TotalPris = totalpris; nyBestillingRad.Tur = funnetTur; Kunde funnetKunde = await _db.Kunder.FindAsync(kundeID); if (funnetKunde == null) { var kundeRad = new Kunde(); kundeRad.Fornavn = innBussBestilling.Fornavn; kundeRad.Etternavn = innBussBestilling.Etternavn; kundeRad.Telefonnummer = innBussBestilling.Telefonnummer; kundeRad.Epost = innBussBestilling.Epost; kundeRad.Kortnummer = innBussBestilling.Kortnummer; _db.Kunder.Add(kundeRad); await _db.SaveChangesAsync(); nyBestillingRad.kunde = kundeRad; } else { nyBestillingRad.kunde = funnetKunde; } _db.Bestillinger.Add(nyBestillingRad); await _db.SaveChangesAsync(); return(true); } catch (Exception e) { _log.LogInformation(e.Message); return(false); } }