public async Task <ActionResult> OppdaterBillettype(Billettyper oppdatertBillettype) { if (string.IsNullOrEmpty(HttpContext.Session.GetString(_innlogget))) { return(Unauthorized("Ikke innlogget")); } int rabattsats = oppdatertBillettype.Rabattsats; if (ModelState.IsValid && rabattsats <= 100 && rabattsats >= 0) { bool returOK = await _db.OppdaterBillettype(oppdatertBillettype); if (!returOK) { melding = $"Endringen av Billettype kunne ikke utføres med verdiene: {oppdatertBillettype}"; _log.LogWarning(melding); return(NotFound(melding)); } melding = $"Endringen av Billettype ble utført med verdiene: {oppdatertBillettype}"; _log.LogInformation(melding); return(Ok(melding)); } _log.LogWarning(ugyldigValidering); return(BadRequest(ugyldigValidering)); }
public async Task <ActionResult> NyBillettype(Billettyper innBillettype) { if (string.IsNullOrEmpty(HttpContext.Session.GetString(_innlogget))) { return(Unauthorized("Ikke innlogget")); } int rabattsats = innBillettype.Rabattsats; if (ModelState.IsValid && rabattsats <= 100 && rabattsats >= 0) { bool returOK = await _db.NyBillettype(innBillettype); if (!returOK) { melding = $"Ny Billettype kunne ikke lagres med verdiene: {innBillettype}"; _log.LogWarning(melding); return(BadRequest(melding)); } melding = $"Ny billettype ble lagret med verdiene: {innBillettype}"; _log.LogInformation(melding); return(Ok(melding)); } _log.LogWarning(ugyldigValidering); return(BadRequest(ugyldigValidering)); }
// Returnerer en List med Billettyper-objekter private List <Billettyper> HentBillettyperListe() { Billettyper billettype1 = new Billettyper { Billettype = "Student", Rabattsats = 50 }; Billettyper billettype2 = new Billettyper { Billettype = "Voksen", Rabattsats = 0 }; Billettyper billettype3 = new Billettyper { Billettype = "Honør", Rabattsats = 25 }; return(new List <Billettyper> { billettype1, billettype2, billettype3 }); }
public async Task <ActionResult> HentEnBillettype(int id) { if (ModelState.IsValid) { Billettyper billettype = await _db.HentEnBillettype(id); if (billettype == null) { melding = $"Billettypen med Id: {id}, ble ikke funnet"; _log.LogWarning(melding); return(NotFound(melding)); } return(Ok(billettype)); } _log.LogWarning(ugyldigValidering); return(BadRequest(ugyldigValidering)); }
public async Task HentEnBillettype_RiktigeVerdier() { // Arrange int id = 1; Billettyper forventet = HentEnBillettype(); mockRepo.Setup(b => b.HentEnBillettype(id)).ReturnsAsync(HentEnBillettype()); // Act var resultat = await billettyperController.HentEnBillettype(id) as OkObjectResult; Billettyper faktisk = (Billettyper)resultat.Value; // Assert // Tester om alle verdiene er like i alle elementene Assert.Equal(forventet.Billettype, faktisk.Billettype); Assert.Equal(forventet.Rabattsats, faktisk.Rabattsats); }
public async Task <bool> OppdaterBillettype(Billettyper opdatertBillettype) { try { Billettyper billettype = await _db.Billettyper.FindAsync(opdatertBillettype.Id); billettype.Billettype = opdatertBillettype.Billettype; billettype.Rabattsats = opdatertBillettype.Rabattsats; await _db.SaveChangesAsync(); return(true); } catch (Exception e) { _log.LogInformation(e.Message); 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); } }
// Fullfør ordre public async Task <bool> FullforOrdre(NyOrdre ordreModel) { try { // Henter ut ruten som tilhører OrdreModel Ruter rute = await _db.Ruter.FirstOrDefaultAsync(r => r.Linjekode == ordreModel.Linjekode); // Henter Avgangens Id Avganger avgang = await _db.Avganger.FirstOrDefaultAsync(a => a.Id == ordreModel.AvgangId); // Finner startStopp, og finner stoppnummeret i ruten Stopp startStopp = await _db.Stopp.FirstOrDefaultAsync(s => s.Navn == ordreModel.StartStopp); int stoppNummer1 = await _hjelp.FinnStoppNummer(startStopp, rute); // Finner sluttStopp, og finner stoppnummeret i ruten Stopp sluttStopp = await _db.Stopp.FirstOrDefaultAsync(s => s.Navn == ordreModel.SluttStopp); int stoppNummer2 = await _hjelp.FinnStoppNummer(sluttStopp, rute); // Regner ut antall stopp int antallStopp = stoppNummer2 - stoppNummer1; // Finner summen for reisen // antallStopp, rute, liste med billettype int sum = await _hjelp.BeregnPris(rute, antallStopp, ordreModel.Billettyper); // Lager en ordre basert på ordreModel, rute og avgang var ordre = new Ordre { Epost = ordreModel.Epost, StartStopp = startStopp, SluttStopp = sluttStopp, Sum = sum, Rute = rute, Avgang = avgang }; // Legger ordren til i databasen _db.Ordre.Add(ordre); // Raden til spesifisert avgang Avganger dbAvgang = _db.Avganger.Find(avgang.Id); // Går gjennom listen med billettyper foreach (string billettype in ordreModel.Billettyper) { // Henter ut en billettype i listen Billettyper billettypeObjekt = await _db.Billettyper.FirstOrDefaultAsync(a => a.Billettype == billettype); // Lager en ordrelinje var ordrelinje = new Ordrelinjer { Billettype = billettypeObjekt, Ordre = ordre }; // Legger denne ordrelinjen til databasen _db.Ordrelinjer.Add(ordrelinje); // Øker antalll solgte billetter med 1 dbAvgang.SolgteBilletter++; } // Lagrer alt som er blitt lagt til i databasen _db.SaveChanges(); return(true); } catch (Exception e) { _log.LogInformation(e.Message); return(false); } }