示例#1
0
        public Destinacija dodajDatumeDestinaciji(BrzaRezervacijaVozila rezervacija)
        {
            DateTime pocetni = rezervacija.PocetniDatum;
            DateTime krajnji = rezervacija.KrajnjiDatum;

            Destinacija destinacija = _context.Destinacije.Find(rezervacija);

            if (pocetni != krajnji)
            {
                TimeSpan ts = new TimeSpan(1, 0, 0, 0);
                destinacija.PretvoriUListu();

                while (pocetni != krajnji)
                {
                    destinacija.ZauzetiDatumi.Add(pocetni);
                    pocetni += ts;
                }
            }

            destinacija.PretvoriUJson();

            _context.Entry(destinacija).State = EntityState.Modified;

            try
            {
                // _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
            }

            return(destinacija);
        }
        //public async Task DodajUBazuVozilo(Vozilo vozilo)
        //{
        //    _context.Entry(vozilo).State = EntityState.Modified;

        //    try
        //    {
        //        //await _context.SaveChangesAsync();
        //    }
        //    catch (DbUpdateConcurrencyException e)
        //    {
        //        //return false;
        //    }
        //}

        public Vozilo dodajDatumeVozilu(BrzaRezervacijaVozila rezervacija)
        {
            DateTime pocetni = rezervacija.PocetniDatum;
            DateTime krajnji = rezervacija.KrajnjiDatum;

            Vozilo vozilo = _context.Vozila.Find(rezervacija.IdVozila);

            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;

            try
            {
                // _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
            }

            return(vozilo);
        }
        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());
        }
示例#4
0
        public double ukupnaCena(BrzaRezervacijaVozila 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);
        }
示例#5
0
        public async Task <IActionResult> UpdateBrzaRezervacijaVozila(BrzaRezervacijaVozila rezervacija)
        {
            _context.Entry(rezervacija).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!BrzaRezervacijaDestinacijaExists(rezervacija.Id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public async Task <ActionResult <BrzaRezervacijaVozila> > AddBrzaRezervacijaVozila(BrzaRezervacijaVozila rezervacija)
        {
            RentACarServis rentservis = _context.RentACarServisi.Find(rezervacija.IdRentACar);

            rezervacija.PocetnaCena = servis.ukupnaCena(rezervacija);
            rezervacija.NovaCena    = rezervacija.PocetnaCena - rezervacija.PocetnaCena * rezervacija.Popust / 100;

            _context.BrzeRezervacijeVozila.Add(rezervacija);

            servis.dodajDatumeVozilu(rezervacija);

            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetBrzaRezervacijaVozila", new { id = rezervacija.Id }, rezervacija));
        }