Example #1
0
        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);
        }
Example #3
0
        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);
        }
Example #6
0
        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());
        }