public async Task <ActionResult <RezervacijaVozila> > AddRezervacijaVozila(RezervacijaVozila rezervacija) { rezervacija.Cena = servis.ukupnaCena(rezervacija); bool dozvola = servis.dodajDatumeVozilu(rezervacija); if (dozvola) { _context.RezervacijeVozila.Add(rezervacija); try { await _context.SaveChangesAsync(); } catch (Exception e) { } // return CreatedAtAction("GetRezervacijaVozila", new { id = rezervacija.Id }, rezervacija); return(Ok()); } else { return(BadRequest()); } }
//public double ukupnaCena(RezervacijaVozila rezervacija) //{ // DateTime pocetni = rezervacija.PocetniDatum; // DateTime krajnji = rezervacija.KrajnjiDatum; // RentACarServis rentACar = _context.RentACarServisi.Find(rezervacija.IdRentACar); // double ukupnaCena = rentACar.cenaPrviDan; // if (pocetni != krajnji) // { // TimeSpan ts = new TimeSpan(1, 0, 0, 0); // while (pocetni != krajnji) // { // pocetni += ts; // ukupnaCena += rentACar.cenaSledeciDan; // } // } // return ukupnaCena; //} public bool dodajDatumeVozilu(RezervacijaVozila rezervacija) { DateTime pocetni = rezervacija.PocetniDatum; DateTime krajnji = rezervacija.KrajnjiDatum; Vozilo vozilo = _context.Vozila.Find(rezervacija.IdVozila); //_context.Entry(vozilo).OriginalValues["RowVersion"] = rezervacija.Vozilo.RowVersion; //vozilo.RowVersion = rezervacija.Vozilo.RowVersion; //Vozilo vozilo = rezervacija.Vozilo; if (vozilo.RowVersion.Length != rezervacija.Vozilo.RowVersion.Length) { return(false); } for (int i = 0; i < vozilo.RowVersion.Length; i++) { if (vozilo.RowVersion[i] != rezervacija.Vozilo.RowVersion[i]) { return(false); } } if (pocetni != krajnji) { TimeSpan ts = new TimeSpan(1, 0, 0, 0); vozilo.PretvoriUListu(); while (pocetni != krajnji) { vozilo.ZauzetiDatumi.Add(pocetni); pocetni += ts; } } vozilo.PretvoriUJson(); _context.Entry(vozilo).State = EntityState.Modified; //DodajUBazuVozilo(vozilo); return(true); }
public async Task <ActionResult> Oceni(Oceni oceni) { RezervacijaVozila rezervacija = _context.RezervacijeVozila.Find(oceni.IdRezervacije); rezervacija.OcenaZaRentACar = oceni.OcenaKompanja; rezervacija.OcenaZaVozilo = oceni.OcenaVozAvio; _context.Entry(rezervacija).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (Exception e) { return(NoContent()); } return(Ok()); }
public async Task <ActionResult <BrzaRezervacijaVozila> > Rezervisi(BrzaRezervacijaVozila rezervacija) { BrzaRezervacijaVozila brza = _context.BrzeRezervacijeVozila.Where(x => x.Id == rezervacija.Id).FirstOrDefault(); if (rezervacija.RowVersion.Length != brza.RowVersion.Length) { return(BadRequest()); } for (int i = 0; i < brza.RowVersion.Length; i++) { if (brza.RowVersion[i] != rezervacija.RowVersion[i]) { return(BadRequest()); } } RezervacijaVozila rez = new RezervacijaVozila(); rez.IdKlijenta = rezervacija.IdKlijenta; rez.IdRentACar = rezervacija.IdRentACar; rez.IdVozila = rezervacija.IdVozila; rez.Cena = rezervacija.NovaCena; rez.KrajnjiDatum = rezervacija.KrajnjiDatum; rez.PocetniDatum = rezervacija.PocetniDatum; rez.Zavrseno = false; rezervacija.Zavrseno = true; _context.Entry(rezervacija).State = EntityState.Modified; _context.RezervacijeVozila.Add(rez); try { await _context.SaveChangesAsync(); } catch (Exception e) { } return(Ok()); }
public double ukupnaCena(RezervacijaVozila rezervacija) { DateTime pocetni = rezervacija.PocetniDatum; DateTime krajnji = rezervacija.KrajnjiDatum; RentACarServis rentACar = _context.RentACarServisi.Find(rezervacija.IdRentACar); double ukupnaCena = rentACar.cenaPrviDan; if (pocetni != krajnji) { TimeSpan ts = new TimeSpan(1, 0, 0, 0); while (pocetni != krajnji) { pocetni += ts; ukupnaCena += rentACar.cenaSledeciDan; } } return(ukupnaCena); }
public async Task <IActionResult> UpdateRezervacijaVozila(RezervacijaVozila rezervacija) { _context.Entry(rezervacija).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RezervacijaVozilaExists(rezervacija.Id)) { return(NotFound()); } else { throw; } } return(NoContent()); }