public IHttpActionResult GetDriversDrives([FromUri] String id)
        {
            if (GetBlockedUsers.Contains(id))
            {
                return(Content(HttpStatusCode.Forbidden, "Blokirani ste!"));
            }

            Korisnik kor = db.Korisnici.Include(korisnik => korisnik.Voznje).ToList().Find(k => k.KorisnikID == id);

            if (kor == null)
            {
                return(NotFound());
            }

            if (!GetLoggedUsers.Contains(id))
            {
                return(Unauthorized());
            }

            if (kor.Uloga == EUloga.MUSTERIJA)
            {
                return(Unauthorized());
            }

            List <Voznja> retVoznje = voznje.Voznjas.Include(kom => kom.KomentarVoznje).Where(i => i.VozacID == id).ToList();

            return(Ok(retVoznje));
        }
        public IHttpActionResult GetPage([FromUri] string id)
        {
            if (GetBlockedUsers.Contains(id))
            {
                return(Content(HttpStatusCode.Forbidden, "Blokirani ste!"));
            }


            if (!GetLoggedUsers.Contains(id))
            {
                return(Content(HttpStatusCode.Unauthorized, "Niste prijvaljeni"));
            }

            Korisnik korisnik = db.Korisnici.Include(e => e.LokacijaVozaca).ToList().Find(kor => kor.KorisnikID == id);

            if (korisnik == null)
            {
                return(NotFound());
            }

            if (korisnik.Uloga == EUloga.MUSTERIJA)
            {
                return(Ok("./Content/partials/profileKorisnik.html"));
            }
            else if (korisnik.Uloga == EUloga.DISPECER)
            {
                return(Ok("./Content/partials/profileDispecer.html"));
            }
            else
            {
                return(Ok("./Content/partials/profileVozac.html"));
            }
        }
        public IHttpActionResult Login(PrijavaModel prijava)
        {
            if (GetBlockedUsers.Contains(prijava.Username))
            {
                return(Content(HttpStatusCode.Forbidden, "Blokirani ste!"));
            }

            if (!KorisnikExists(prijava.Username))
            {
                return(BadRequest("Neispravan username ili lozinka"));
            }

            Korisnik k = db.Korisnici.Include(e => e.LokacijaVozaca).ToList().Find(kor => kor.KorisnikID == prijava.Username);

            if (k.Lozinka != prijava.Password)
            {
                return(BadRequest("Neispravan username ili lozinka"));
            }

            if (!GetLoggedUsers.Contains(k.KorisnikID))
            {
                GetLoggedUsers.Add(k.KorisnikID);
            }

            return(Ok(k));
        }
        public IHttpActionResult Blokiraj(BlockUnblockModel model)
        {
            if (!GetLoggedUsers.Contains(model.SenderID))
            {
                return(Unauthorized());
            }

            Korisnik disp = db.Korisnici.Find(model.SenderID);

            if (disp == null)
            {
                return(NotFound());
            }

            if (disp.Uloga != EUloga.DISPECER)
            {
                return(Unauthorized());
            }

            if (GetBlockedUsers.Contains(model.KorisnikID))
            {
                return(Content(HttpStatusCode.NotAcceptable, "Korisnik je vec blokiran"));
            }

            GetBlockedUsers.Add(model.KorisnikID);

            return(Ok());
        }
示例#5
0
        public IHttpActionResult PotvrdiVoznju(PotvrdaVoznjeModel potvrda)
        {
            if (GetBlockedUsers.Contains(potvrda.SenderID))
            {
                return(Content(HttpStatusCode.Forbidden, "Blokirani ste!"));
            }

            if (!GetLoggedUsers.Contains(potvrda.SenderID))
            {
                return(Unauthorized());
            }

            Korisnik k = kor.Korisnici.Find(potvrda.SenderID);

            if (k == null)
            {
                return(NotFound());
            }

            if (k.Uloga != EUloga.VOZAC)
            {
                return(Unauthorized());
            }

            Voznja ciljanaVoznja = db.Voznjas.Find(potvrda.VoznjaID);

            if (ciljanaVoznja == null)
            {
                return(NotFound());
            }

            if (ciljanaVoznja.StatusVoznje != EStatus.FORMIRANA && ciljanaVoznja.StatusVoznje != EStatus.OBRADJENA && ciljanaVoznja.StatusVoznje != EStatus.PRIHVACENA && ciljanaVoznja.StatusVoznje != EStatus.UTOKU)
            {
                return(Content(HttpStatusCode.NotAcceptable, "Ne mozete potvrditi ovu voznju"));
            }

            ciljanaVoznja.StatusVoznje          = EStatus.USPESNA;
            ciljanaVoznja.Odrediste_XKoordinata = potvrda.OdredisteX;
            ciljanaVoznja.Odrediste_YKoordinata = potvrda.OdredisteY;
            ciljanaVoznja.Iznos           = potvrda.Iznos;
            db.Entry(ciljanaVoznja).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!VoznjaExists(ciljanaVoznja.VoznjaID))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            return(Ok(ciljanaVoznja));
        }
示例#6
0
        public IHttpActionResult OktaziVoznju(PromenaVoznjeModel otkazivanje)
        {
            if (GetBlockedUsers.Contains(otkazivanje.SenderID))
            {
                return(Content(HttpStatusCode.Forbidden, "Blokirani ste!"));
            }

            if (!GetLoggedUsers.Contains(otkazivanje.SenderID))
            {
                return(Unauthorized());
            }

            Korisnik k = kor.Korisnici.Find(otkazivanje.SenderID);

            if (k == null)
            {
                return(NotFound());
            }

            if (k.Uloga != EUloga.MUSTERIJA)
            {
                return(Unauthorized());
            }

            Voznja v = db.Voznjas.Find(otkazivanje.VoznjaID);

            if (v == null)
            {
                return(NotFound());
            }

            if (v.StatusVoznje != EStatus.KREIRANA)
            {
                return(Content(HttpStatusCode.NotAcceptable, "Voznja je u medjuvremenu promenila stanje"));
            }

            v.StatusVoznje          = EStatus.OTKAZANA;
            v.Odrediste_XKoordinata = null;
            v.Odrediste_YKoordinata = null;

            db.Entry(v).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!VoznjaExists(v.VoznjaID))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            return(Ok(v));
        }
        public IHttpActionResult PostVozac(VozacRegistrationModel vozac)
        {
            String sender = vozac.IdSender;

            if (!GetLoggedUsers.Contains(sender))
            {
                return(Unauthorized());
            }

            Korisnik korisnik = db.Korisnici.Include(e => e.LokacijaVozaca).ToList().Find(kor => kor.KorisnikID == vozac.IdSender);

            if (korisnik == null)
            {
                return(NotFound());
            }

            if (korisnik.Uloga != EUloga.DISPECER)
            {
                return(Unauthorized());
            }

            Korisnik korVozac = new Korisnik()
            {
                KorisnikID  = vozac.KorisnikID,
                EMail       = vozac.EMail,
                Ime         = vozac.Ime,
                Prezime     = vozac.Prezime,
                JMBG        = vozac.JMBG,
                Lozinka     = vozac.Lozinka,
                Pol         = vozac.Pol,
                Telefon     = vozac.Telefon,
                Uloga       = EUloga.VOZAC,
                ZeljeniTip  = vozac.ZeljeniTip,
                AutomobilID = vozac.AutomobilID
            };


            db.Korisnici.Add(korVozac);


            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (KorisnikExists(korVozac.KorisnikID))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(Ok());
        }
        public IHttpActionResult Logout([FromBody] string id)
        {
            if (!GetLoggedUsers.Contains(id))
            {
                return(Unauthorized());
            }

            GetLoggedUsers.Remove(id);
            return(Ok());
        }
示例#9
0
        public IHttpActionResult OdbaciVoznju(PromenaVoznjeModel prom)
        {
            if (!GetLoggedUsers.Contains(prom.SenderID))
            {
                return(Unauthorized());
            }

            if (GetBlockedUsers.Contains(prom.SenderID))
            {
                return(Content(HttpStatusCode.Forbidden, "Blokirani ste!"));
            }


            Korisnik k = kor.Korisnici.Include(voz => voz.Voznje).ToList().Find(korisnik => korisnik.KorisnikID == prom.SenderID);

            if (k.Uloga != EUloga.VOZAC)
            {
                return(Unauthorized());
            }

            Voznja ciljanaVoznja = db.Voznjas.Find(prom.VoznjaID);

            if (ciljanaVoznja == null)
            {
                return(NotFound());
            }

            if (ciljanaVoznja.StatusVoznje != EStatus.FORMIRANA && ciljanaVoznja.StatusVoznje != EStatus.OBRADJENA && ciljanaVoznja.StatusVoznje != EStatus.PRIHVACENA && ciljanaVoznja.StatusVoznje != EStatus.UTOKU)
            {
                return(Content(HttpStatusCode.NotAcceptable, "Voznja je u medjuvremenu promenila status"));
            }

            ciljanaVoznja.StatusVoznje          = EStatus.NEUSPESNA;
            ciljanaVoznja.Odrediste_XKoordinata = null;
            ciljanaVoznja.Odrediste_YKoordinata = null;

            db.Entry(ciljanaVoznja).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!VoznjaExists(ciljanaVoznja.VoznjaID))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            return(Ok(ciljanaVoznja));
        }
        public IHttpActionResult PromenaLokacije(PromenaLokacijeModel promena)
        {
            if (GetBlockedUsers.Contains(promena.SenderID))
            {
                return(Content(HttpStatusCode.Forbidden, "Blokirani ste!"));
            }

            if (!GetLoggedUsers.Contains(promena.SenderID))
            {
                return(Unauthorized());
            }

            Korisnik vozac  = db.Korisnici.Find(promena.KorisnikID);
            Korisnik sender = db.Korisnici.Find(promena.SenderID);

            if (vozac.Uloga != EUloga.VOZAC)
            {
                return(Content(HttpStatusCode.NotAcceptable, "Lokacija se dodeljuje samo vozacu"));
            }

            if (sender.Uloga == EUloga.MUSTERIJA)
            {
                return(Unauthorized());
            }

            vozac.XKoordinata = promena.LokacijaX;
            vozac.YKoordinata = promena.LokacijaY;

            db.Entry(vozac).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!KorisnikExists(vozac.KorisnikID))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
示例#11
0
        public IHttpActionResult DodeliKomentarVoznji(DodelaKomentaraModel dm)
        {
            if (GetBlockedUsers.Contains(dm.KorisnikID))
            {
                return(Content(HttpStatusCode.Forbidden, "Blokirani ste!"));
            }

            if (!GetLoggedUsers.Contains(dm.KorisnikID))
            {
                return(Unauthorized());
            }

            Komentar komentar = kom.Komentari.Find(dm.KomentarID);

            if (komentar == null)
            {
                return(NotFound());
            }

            Voznja v = db.Voznjas.Find(dm.VoznjaID);

            if (v == null)
            {
                return(NotFound());
            }

            v.KomentarID = dm.KomentarID;

            db.Entry(v).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!VoznjaExists(v.VoznjaID))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            return(Ok(v));
        }
示例#12
0
        public IHttpActionResult GetVoznjas([FromUri] String id)
        {
            if (!GetLoggedUsers.Contains(id))
            {
                return(Unauthorized());
            }
            Korisnik k = kor.Korisnici.Find(id);

            if (k == null)
            {
                return(NotFound());
            }

            if (k.Uloga != EUloga.DISPECER)
            {
                return(Unauthorized());
            }


            return(Ok(db.Voznjas.Include(m => m.Musterija).Include(koment => koment.KomentarVoznje).Include(v => v.Vozac).ToList()));
        }
        public IHttpActionResult PutKorisnik(Korisnik korisnik)
        {
            if (GetBlockedUsers.Contains(korisnik.KorisnikID))
            {
                return(Content(HttpStatusCode.Forbidden, "Blokirani ste!"));
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }



            if (!GetLoggedUsers.Contains(korisnik.KorisnikID))
            {
                return(Content(HttpStatusCode.Unauthorized, "Morate biti ulogovani da biste izvrsili ovu operaciju"));
            }



            db.Entry(korisnik).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!KorisnikExists(korisnik.KorisnikID))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public IHttpActionResult GetKorisnik([FromUri] string id)
        {
            if (GetBlockedUsers.Contains(id))
            {
                return(Content(HttpStatusCode.Forbidden, "Blokirani ste!"));
            }


            if (!GetLoggedUsers.Contains(id))
            {
                return(Content(HttpStatusCode.Unauthorized, "Niste ulogovani"));
            }

            Korisnik korisnik = db.Korisnici.Include(e => e.LokacijaVozaca).ToList().Find(kor => kor.KorisnikID == id);

            if (korisnik == null)
            {
                return(NotFound());
            }

            return(Ok(korisnik));
        }
        public IHttpActionResult GetNonDispecer([FromUri] string id)
        {
            if (!GetLoggedUsers.Contains(id))
            {
                return(Unauthorized());
            }

            Korisnik k = db.Korisnici.Find(id);

            if (k.Uloga != EUloga.DISPECER)
            {
                return(Unauthorized());
            }

            List <List <Korisnik> > ret       = new List <List <Korisnik> >(); // prvi el su blokirani, drugi ostali
            List <Korisnik>         blokirani = new List <Korisnik>();

            List <Korisnik> neblokirani = new List <Korisnik>();


            List <Korisnik> sviKorisnici = db.Korisnici.Where(koris => koris.Uloga != EUloga.DISPECER).ToList();

            foreach (Korisnik kor in sviKorisnici)
            {
                if (GetBlockedUsers.Contains(kor.KorisnikID))
                {
                    blokirani.Add(kor);
                }
                else
                {
                    neblokirani.Add(kor);
                }
            }
            ret.Add(blokirani);
            ret.Add(neblokirani);

            return(Ok(ret));
        }
        public IHttpActionResult GetDispecerDrives([FromUri] String id)
        {
            if (!GetLoggedUsers.Contains(id))
            {
                return(Unauthorized());
            }

            Korisnik k = db.Korisnici.Find(id);

            if (k == null)
            {
                return(NotFound());
            }

            if (k.Uloga != EUloga.DISPECER)
            {
                return(Unauthorized());
            }

            List <Voznja> retVoznje = voznje.Voznjas.Include(kom => kom.KomentarVoznje).Include(v => v.Vozac).Include(koris => koris.Musterija).Where(i => i.DispecerID == id).ToList();

            return(Ok(retVoznje));
        }
        public IHttpActionResult GetFreeDriver(NearestFiveModel model)
        {
            if (!GetLoggedUsers.Contains(model.KorisnikID))
            {
                return(Unauthorized());
            }

            Korisnik k = db.Korisnici.Find(model.KorisnikID);

            if (k == null)
            {
                return(NotFound());
            }

            if (k.Uloga != EUloga.DISPECER)
            {
                return(Unauthorized());
            }

            List <Korisnik> vozaci = db.Korisnici.Include(kor => kor.Voznje).ToList().Where(a => a.Uloga == EUloga.VOZAC).ToList();

            List <Korisnik> slobodniVozaci = vozaci.Where(kor => {
                List <Voznja> voznjas = voznje.Voznjas.Where(v => v.VozacID == kor.KorisnikID).ToList();
                if (voznjas.Any(vz => vz.StatusVoznje == EStatus.UTOKU))
                {
                    return(false);
                }
                else
                {
                    return(true);
                }
            }).ToList();



            List <Korisnik> retVozaci = new List <Korisnik>();

            if (slobodniVozaci.Count > 5)
            {
                Double x, y;
                try
                {
                    x = Double.Parse(model.LokacijaX);
                    y = Double.Parse(model.LokacijaY);
                }
                catch (Exception)
                {
                    return(InternalServerError());
                }

                Point lokacija = new Point(x, y);
                foreach (Korisnik koris in slobodniVozaci)
                {
                    if (retVozaci.Count < 5)
                    {
                        retVozaci.Add(koris);
                    }
                    else
                    {
                        Double korisLokX, korisLokY;
                        try
                        {
                            korisLokX = Double.Parse(koris.XKoordinata);
                            korisLokY = Double.Parse(koris.YKoordinata);
                        }
                        catch (Exception)
                        {
                            return(InternalServerError());
                        }

                        Point  korisLokacija     = new Point(korisLokX, korisLokY);
                        Double korisRazdaljina   = Math.Abs(Point.Subtract(lokacija, korisLokacija).Length);
                        Double najvecaRazdaljina = 0;
                        int    index             = -1;
                        for (int i = 0; i < retVozaci.Count; i++)
                        {
                            Double iLokX, iLokY;
                            try
                            {
                                iLokX = Double.Parse(retVozaci[i].XKoordinata);
                                iLokY = Double.Parse(retVozaci[i].YKoordinata);
                            }
                            catch (Exception)
                            {
                                return(InternalServerError());
                            }

                            Point  iLok        = new Point(iLokX, iLokY);
                            Double iRazdaljina = Math.Abs(Point.Subtract(lokacija, iLok).Length);
                            if (iRazdaljina > najvecaRazdaljina)
                            {
                                najvecaRazdaljina = iRazdaljina;
                                index             = i;
                            }
                        }

                        if (najvecaRazdaljina > korisRazdaljina)
                        {
                            retVozaci.RemoveAt(index);
                            retVozaci.Add(koris);
                        }
                    }
                }
            }
            else
            {
                retVozaci = slobodniVozaci;
            }

            return(Ok(retVozaci));
        }
示例#18
0
        public IHttpActionResult PostVoznja(Voznja voznja)
        {
            if (GetBlockedUsers.Contains(voznja.MusterijaID))
            {
                return(Content(HttpStatusCode.Forbidden, "Blokirani ste!"));
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (voznja.DispecerID == null && voznja.MusterijaID == null)
            {
                return(Unauthorized());
            }
            else if (voznja.DispecerID != null && !GetLoggedUsers.Contains(voznja.DispecerID))
            {
                return(Unauthorized());
            }
            else if (voznja.MusterijaID != null && !GetLoggedUsers.Contains(voznja.MusterijaID))
            {
                return(Unauthorized());
            }

            Korisnik k = new Korisnik();

            if (voznja.DispecerID != null)
            {
                k = kor.Korisnici.Find(voznja.DispecerID);
                if (k.Uloga != EUloga.DISPECER)
                {
                    return(Unauthorized());
                }

                Korisnik vozac = kor.Korisnici.Find(voznja.VozacID);
                if (vozac.ZeljeniTip != voznja.ZeljeniTip && vozac.ZeljeniTip != ETipAutomobila.PROIZVOLJNO && voznja.ZeljeniTip != ETipAutomobila.PROIZVOLJNO)
                {
                    return(Content(HttpStatusCode.NotAcceptable, "Vozac ne poseduje ovaj tip automobila"));
                }
            }
            else if (voznja.MusterijaID != null)
            {
                k = kor.Korisnici.Find(voznja.MusterijaID);
                if (k.Uloga != EUloga.MUSTERIJA)
                {
                    return(Unauthorized());
                }

                if (voznja.VozacID != null)
                {
                    return(Unauthorized());
                }
            }


            if (voznja.DispecerID != null)
            {
                voznja.StatusVoznje = EStatus.FORMIRANA;
            }
            else
            {
                voznja.StatusVoznje = EStatus.KREIRANA;
            }

            db.Voznjas.Add(voznja);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (VoznjaExists(voznja.VoznjaID))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = voznja.VoznjaID }, voznja));
        }
示例#19
0
        public IHttpActionResult PreuzmiVoznju(PromenaVoznjeModel prom)
        {
            if (!GetLoggedUsers.Contains(prom.SenderID))
            {
                return(Unauthorized());
            }

            if (GetBlockedUsers.Contains(prom.SenderID))
            {
                return(Content(HttpStatusCode.Forbidden, "Blokirani ste!"));
            }

            Korisnik k = kor.Korisnici.Include(voz => voz.Voznje).ToList().Find(korisnik => korisnik.KorisnikID == prom.SenderID);

            if (k.Uloga != EUloga.VOZAC)
            {
                return(Unauthorized());
            }

            List <Voznja> korisnikoveVoznje = db.Voznjas.Where(a => a.VozacID == prom.SenderID).ToList();

            if (korisnikoveVoznje.Any(voznja => voznja.StatusVoznje == EStatus.UTOKU))
            {
                return(Content(HttpStatusCode.NotAcceptable, "Imate voznju u toku"));
            }

            Voznja ciljanaVoznja = db.Voznjas.Find(prom.VoznjaID);

            if (ciljanaVoznja == null)
            {
                return(NotFound());
            }

            if (ciljanaVoznja.StatusVoznje != EStatus.KREIRANA)
            {
                return(Content(HttpStatusCode.NotAcceptable, "Voznja je u medjuvremenu promenila status"));
            }

            if (ciljanaVoznja.ZeljeniTip != ETipAutomobila.PROIZVOLJNO && ciljanaVoznja.ZeljeniTip != k.ZeljeniTip)
            {
                return(Content(HttpStatusCode.NotAcceptable, "Nemate trazeni tip vozila"));
            }

            ciljanaVoznja.StatusVoznje = EStatus.PRIHVACENA;
            ciljanaVoznja.StatusVoznje = EStatus.UTOKU;
            ciljanaVoznja.VozacID      = k.KorisnikID;

            ciljanaVoznja.Odrediste_XKoordinata = null;
            ciljanaVoznja.Odrediste_YKoordinata = null;

            db.Entry(ciljanaVoznja).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!VoznjaExists(ciljanaVoznja.VoznjaID))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            return(Ok(ciljanaVoznja));
        }
示例#20
0
        public IHttpActionResult DodeliVozacu(DodelaVoznjeModel model)
        {
            if (!GetLoggedUsers.Contains(model.SenderId))
            {
                return(Unauthorized());
            }

            Korisnik dispecer = kor.Korisnici.Find(model.SenderId);
            Korisnik vozac    = kor.Korisnici.Find(model.VozacId);
            Voznja   v        = db.Voznjas.Find(model.VoznjaId);



            if (dispecer == null || vozac == null || v == null)
            {
                return(NotFound());
            }

            if (dispecer.Uloga != EUloga.DISPECER)
            {
                return(Unauthorized());
            }

            if (vozac.Uloga != EUloga.VOZAC)
            {
                return(Unauthorized());
            }

            List <Voznja> vozaceveVoznje = db.Voznjas.Where(voz => voz.VozacID == vozac.KorisnikID).ToList();

            if (vozaceveVoznje.Any(voznja => voznja.StatusVoznje == EStatus.UTOKU))
            {
                return(Content(HttpStatusCode.NotAcceptable, "Vozac je trenutno zauzet"));
            }

            if (v.StatusVoznje != EStatus.KREIRANA)
            {
                return(Content(HttpStatusCode.NotAcceptable, "Voznja je vec dodeljena"));
            }

            v.StatusVoznje          = EStatus.OBRADJENA;
            v.StatusVoznje          = EStatus.UTOKU;
            v.VozacID               = vozac.KorisnikID;
            v.DispecerID            = dispecer.KorisnikID;
            v.Odrediste_XKoordinata = null;

            db.Entry(v).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!VoznjaExists(v.VoznjaID))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            return(Ok(v));
        }