Beispiel #1
0
 public Voznja KreirajVoznju([FromBody] Voznja voznja)
 {
     return(VoznjaPristupPodacima.KreirajVoznju(voznja));
 }
Beispiel #2
0
 public Voznja AzurirajStatusVoznje([FromBody] Voznja voznja, int id)
 {
     return(VoznjaPristupPodacima.AzurirajLokacijuVoznje(voznja, id));
 }
        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));
        }
        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));
        }
Beispiel #5
0
        public IHttpActionResult Post(FormirajVoznju v)
        {
            if (v.PomocZaMapu == 0)
            {
                Random r      = new Random();
                Voznja voznja = new Voznja(DateTime.Now, new Lokacija(string.Format("{0}.{1}", r.Next(0, 50), r.Next(0, 1000000000)), string.Format("{0}.{1}", r.Next(0, 50), r.Next(0, 1000000000)), new Adresa(v.Ulica, int.Parse(v.Broj), "Novi Sad", "21000")), v.ZeljeniTipAutomobila, UlogovaniKorisnici.Musterija.KorisnickoIme, null, "", "", -1, null, StatusVoznje.NaCekanju, 0);

                foreach (Musterija musterija in Korisnici.Musterije)
                {
                    if (musterija.KorisnickoIme.Equals(UlogovaniKorisnici.Musterija.KorisnickoIme))
                    {
                        voznja.Komentar         = new Komentar();
                        voznja.Odrediste        = new Lokacija();
                        voznja.Odrediste.Adresa = new Adresa();
                        musterija.Voznje.Add(voznja);
                        Voznje.SveVoznje.Add(voznja);

                        string lineSendVoznja = String.Empty;
                        lineSendVoznja = voznja.DatumIVremePorudzbine.ToString() + "," + voznja.LokacijaNaKojuTaksiDolazi.XKoordinata + "," + voznja.LokacijaNaKojuTaksiDolazi.YKoordinata + "," + voznja.LokacijaNaKojuTaksiDolazi.Adresa.Ulica + "," + voznja.LokacijaNaKojuTaksiDolazi.Adresa.Broj + "," + voznja.LokacijaNaKojuTaksiDolazi.Adresa.NaseljenoMesto + "," + voznja.LokacijaNaKojuTaksiDolazi.Adresa.PozivniBrojMesta + "," + voznja.ZeljeniTipAutomobila.ToString() + "," + voznja.MusterijaZaKojuJeKreiranaVoznja + "," + voznja.Odrediste.XKoordinata + "," + voznja.Odrediste.YKoordinata + "," + voznja.Odrediste.Adresa.Ulica + "," + voznja.Odrediste.Adresa.Broj + "," + voznja.Odrediste.Adresa.NaseljenoMesto + "," + voznja.Odrediste.Adresa.PozivniBrojMesta + "," + voznja.Dispecer + "," + voznja.Vozac + "," + voznja.Iznos + "," + voznja.Komentar.Opis + "," + voznja.Komentar.DatumObjave + "," + voznja.Komentar.KorisnikKojiJeOstavioKomentar + "," + voznja.Komentar.KorisnikKojiJeOstavioKomentar + "," + voznja.Komentar.OcenaVoznje.ToString() + "," + voznja.StatusVoznje.ToString() + "," + voznja.Pomoc + Environment.NewLine;

                        if (!File.Exists(@"E:\FAX\III godina\2. semestar\Web programiranje [6 ESPB]\projekat\WP1718-PR87-2015\WebAPI_AJAX\WebAPI\WebAPI\bazaVoznje.txt"))
                        {
                            File.WriteAllText(@"E:\FAX\III godina\2. semestar\Web programiranje [6 ESPB]\projekat\WP1718-PR87-2015\WebAPI_AJAX\WebAPI\WebAPI\bazaVoznje.txt", lineSendVoznja);
                        }
                        else
                        {
                            File.AppendAllText(@"E:\FAX\III godina\2. semestar\Web programiranje [6 ESPB]\projekat\WP1718-PR87-2015\WebAPI_AJAX\WebAPI\WebAPI\bazaVoznje.txt", lineSendVoznja);
                        }

                        return(Ok(musterija));
                    }
                }
            }
            else if (v.PomocZaMapu == 1)
            {
                Random r      = new Random();
                Voznja voznja = new Voznja(DateTime.Now, new Lokacija(v.XK.ToString(), v.YK.ToString(), new Adresa(v.Ulica, int.Parse(v.Broj), "Novi Sad", "21000")), v.ZeljeniTipAutomobila, UlogovaniKorisnici.Musterija.KorisnickoIme, null, "", "", -1, null, StatusVoznje.NaCekanju, 0);

                foreach (Musterija musterija in Korisnici.Musterije)
                {
                    if (musterija.KorisnickoIme.Equals(UlogovaniKorisnici.Musterija.KorisnickoIme))
                    {
                        voznja.Komentar         = new Komentar();
                        voznja.Odrediste        = new Lokacija();
                        voznja.Odrediste.Adresa = new Adresa();
                        musterija.Voznje.Add(voznja);
                        Voznje.SveVoznje.Add(voznja);

                        string lineSendVoznja = String.Empty;
                        lineSendVoznja = voznja.DatumIVremePorudzbine.ToString() + "," + voznja.LokacijaNaKojuTaksiDolazi.XKoordinata + "," + voznja.LokacijaNaKojuTaksiDolazi.YKoordinata + "," + voznja.LokacijaNaKojuTaksiDolazi.Adresa.Ulica + "," + voznja.LokacijaNaKojuTaksiDolazi.Adresa.Broj + "," + voznja.LokacijaNaKojuTaksiDolazi.Adresa.NaseljenoMesto + "," + voznja.LokacijaNaKojuTaksiDolazi.Adresa.PozivniBrojMesta + "," + voznja.ZeljeniTipAutomobila.ToString() + "," + voznja.MusterijaZaKojuJeKreiranaVoznja + "," + voznja.Odrediste.XKoordinata + "," + voznja.Odrediste.YKoordinata + "," + voznja.Odrediste.Adresa.Ulica + "," + voznja.Odrediste.Adresa.Broj + "," + voznja.Odrediste.Adresa.NaseljenoMesto + "," + voznja.Odrediste.Adresa.PozivniBrojMesta + "," + voznja.Dispecer + "," + voznja.Vozac + "," + voznja.Iznos + "," + voznja.Komentar.Opis + "," + voznja.Komentar.DatumObjave + "," + voznja.Komentar.KorisnikKojiJeOstavioKomentar + "," + voznja.Komentar.KorisnikKojiJeOstavioKomentar + "," + voznja.Komentar.OcenaVoznje.ToString() + "," + voznja.StatusVoznje.ToString() + "," + voznja.Pomoc + Environment.NewLine;

                        if (!File.Exists(@"E:\FAX\III godina\2. semestar\Web programiranje [6 ESPB]\projekat\WP1718-PR87-2015\WebAPI_AJAX\WebAPI\WebAPI\bazaVoznje.txt"))
                        {
                            File.WriteAllText(@"E:\FAX\III godina\2. semestar\Web programiranje [6 ESPB]\projekat\WP1718-PR87-2015\WebAPI_AJAX\WebAPI\WebAPI\bazaVoznje.txt", lineSendVoznja);
                        }
                        else
                        {
                            File.AppendAllText(@"E:\FAX\III godina\2. semestar\Web programiranje [6 ESPB]\projekat\WP1718-PR87-2015\WebAPI_AJAX\WebAPI\WebAPI\bazaVoznje.txt", lineSendVoznja);
                        }

                        return(Ok(musterija));
                    }
                }
            }

            return(BadRequest("GRESKA"));
        }
        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));
        }
        public HttpResponseMessage ObradiVoznju([FromBody] JToken jToken)
        {
            var    usernameVozaca     = jToken.Value <string>("Vozac");
            var    idVoznje           = jToken.Value <double>("IDVoznje");
            var    usernameUlogovanog = jToken.Value <string>("Dispecer");
            var    response           = new HttpResponseMessage();
            string result             = "";

            if (HttpContext.Current.Application["voznjeNaCekanju"] == null)
            {
                result             += "<h4>Desila se greska prilikom obrade korisnika!</h4>";
                response.Content    = new StringContent(result);
                response.StatusCode = HttpStatusCode.Conflict;
                return(response);
            }
            else
            {
                List <Voznja> naCekanju = (List <Voznja>)HttpContext.Current.Application["voznjeNaCekanju"];
                Voznja        temp      = naCekanju.Find(x => x.IDVoznje == idVoznje);
                if (temp != null)
                {
                    naCekanju.Remove(temp);
                    HttpContext.Current.Application["voznjeNaCekanju"] = naCekanju;
                    ListeKorisnika.Instanca.Voznje.Remove(temp);
                    Vozac dodeljen = ListeKorisnika.Instanca.Vozaci.Find(x => x.Username.Equals(usernameVozaca));
                    if (dodeljen != null)
                    {
                        ListeKorisnika.Instanca.Vozaci.Remove(dodeljen);
                        dodeljen.Zauzet     = true;
                        temp.Vozac.Username = dodeljen.Username;
                        temp.Vozac.Zauzet   = true;
                        Dispecer d = ListeKorisnika.Instanca.Dispeceri.Find(x => x.Username.Equals(usernameUlogovanog));
                        temp.Dispecer = d.Username;
                        temp.Status   = Enums.StatusVoznje.Obradjena;
                        dodeljen.Voznje.Add(temp);
                        ListeKorisnika.Instanca.Vozaci.Add(dodeljen);
                        ListeKorisnika.Instanca.Voznje.Add(temp);
                        Dispecer dispecer = ListeKorisnika.Instanca.Dispeceri.Find(x => x.Username.Equals(usernameUlogovanog));
                        ListeKorisnika.Instanca.Dispeceri.Remove(dispecer);
                        dispecer.Voznje.Add(temp);
                        ListeKorisnika.Instanca.Dispeceri.Add(dispecer);
                        result             += "<h4>Uspesno ste obradili voznju!</h4>";
                        response.Content    = new StringContent(result);
                        response.StatusCode = HttpStatusCode.OK;
                        return(response);
                    }
                    else
                    {
                        result             += "<h4>Desila se greska prilikom obrade korisnika!</h4>";
                        response.Content    = new StringContent(result);
                        response.StatusCode = HttpStatusCode.Conflict;
                        return(response);
                    }
                }
                else
                {
                    result             += "<h4>Desila se greska prilikom obrade korisnika!</h4>";
                    response.Content    = new StringContent(result);
                    response.StatusCode = HttpStatusCode.Conflict;
                    return(response);
                }
            }
        }
        public List <Voznja> Get()
        {
            List <Voznja> retList = new List <Voznja>();

            string[] lines = System.IO.File.ReadAllLines(System.Web.Hosting.HostingEnvironment.MapPath(@"~/App_Data/UserDataBase.txt"));

            for (int i = 0; i < lines.Length; i++)
            {
                if (String.Equals(lines[i].Split(';')[8], "Korisnik"))
                {
                    string voznje = lines[i].Split(';')[9];
                    int    duzina = voznje.Length;
                    if (duzina > 2)
                    {
                        string voznje1 = voznje.Substring(1, duzina - 3);

                        string[] voznje2 = voznje1.Split('|');
                        for (int j = 0; j < voznje2.Count(); j++)
                        {
                            int    duzina1 = voznje2[j].Length;
                            string voznje3 = voznje2[j].Substring(1, duzina1 - 2);

                            if (String.Equals(voznje3.Split(',')[15], "KreiranaNaCekanju"))
                            {
                                Lokacija lokTemp = new Lokacija();
                                lokTemp.X = voznje3.Split(',')[1];
                                lokTemp.Y = voznje3.Split(',')[2];

                                Adresa adresaTemp = new Adresa()
                                {
                                    UlicaBroj          = voznje3.Split(',')[3],
                                    NaseljenoMestoBroj = voznje3.Split(',')[4]
                                };
                                lokTemp.Adresa = adresaTemp;

                                Lokacija lokacija2 = new Lokacija();
                                lokacija2.X = voznje3.Split(',')[7];
                                lokacija2.Y = voznje3.Split(',')[8];
                                Adresa adresaTemp2 = new Adresa()
                                {
                                    UlicaBroj          = voznje3.Split(',')[9],
                                    NaseljenoMestoBroj = voznje3.Split(',')[10]
                                };
                                lokacija2.Adresa = adresaTemp2;
                                Komentar koment = new Komentar();

                                int    komentDuzina   = voznje3.Split(',')[14].Length;
                                string komentarString = voznje3.Split(',')[14].Substring(1, komentDuzina - 2);

                                koment.Opis = ((komentarString).Split('+')[1]);
                                if (!String.Equals((komentarString).Split('+')[1], ""))
                                {
                                    koment.DatumObjave = Convert.ToDateTime((komentarString).Split('+')[0]);
                                }
                                koment.KreatorKomentara = (komentarString).Split('+')[2];
                                if (!String.Equals((komentarString).Split('+')[3], ""))
                                {
                                    koment.Ocena = Int32.Parse(((komentarString).Split('+')[3]));
                                }
                                else
                                {
                                    koment.Ocena = 0;
                                }

                                int    statusLen = voznje3.Split(',')[15].Length;
                                string status    = (voznje3.Split(',')[15]).Substring(0, statusLen);

                                Voznja voznjaRet = new Voznja()
                                {
                                    DatumIVreme    = Convert.ToDateTime(voznje3.Split(',')[0]),
                                    Lokacija1      = lokTemp,
                                    TipAuta        = voznje3.Split(',')[5],
                                    Pozivaoc       = voznje3.Split(',')[6],
                                    Odrediste      = lokacija2,
                                    KreatorVoznje  = voznje3.Split(',')[11],
                                    VozacMusterije = voznje3.Split(',')[12],
                                    Iznos          = Int32.Parse(voznje3.Split(',')[13]),
                                    KomentarVoznje = koment,
                                    Status         = status
                                };
                                retList.Add(voznjaRet);
                            }
                        }
                    }
                }
            }

            return(retList);
        }
Beispiel #9
0
        public List <string> AddDriveDispecer([FromBody] VoznjaPomocna k)
        {
            string ss  = System.Web.Hosting.HostingEnvironment.MapPath("~/App_Data/Dispeceri.xml");
            string ss1 = System.Web.Hosting.HostingEnvironment.MapPath("~/App_Data/Voznje.xml");
            string ss2 = System.Web.Hosting.HostingEnvironment.MapPath("~/App_Data/Vozaci.xml");

            List <Dispecer> users  = xml.ReadDispecer(ss);
            List <Voznja>   drives = xml.ReadDrives(ss1);
            List <Vozac>    vozaci = xml.ReadDrivers(ss2);

            bool     g     = true;
            Korisnik c     = new Dispecer();
            Voznja   drive = new Voznja();

            List <Tuple <Point, string> > prosledi = new List <Tuple <Point, string> >();

            foreach (Vozac v in vozaci)
            {
                if (!v.Zauzet && v.Auto.TipAutomobila == (TipAutomobila)int.Parse(k.tipAuta) && !v.Blokiran)
                {
                    Point pos = new Point(Double.Parse(v.Lok.X), Double.Parse(v.Lok.Y));
                    prosledi.Add(new Tuple <Point, string>(pos, v.KorisnickoIme));
                }
            }
            NajkracaUdaljenost nk  = new NajkracaUdaljenost();
            List <string>      ret = new List <string>();

            if (!prosledi.Any())
            {
                foreach (Dispecer u in users)
                {
                    if (u.KorisnickoIme == k.korisnicko)
                    {
                        c = u;
                        Adresa   a = new Adresa(k.Street);
                        Lokacija l = new Lokacija(k.XCoord, k.YCoord, a);
                        drive.Musterija = new Musterija();
                        drive.LokacijaDolaskaTaksija = l;
                        if (k.tipAuta != "")
                        {
                            drive.ZeljeniAutomobil = (TipAutomobila)int.Parse(k.tipAuta);
                        }
                        drive.Iznos            = 0;
                        drive.Komentar         = new Komentar();
                        drive.DatumPorudzbine  = String.Format("{0:F}", DateTime.Now);;
                        drive.Odrediste        = new Lokacija();
                        drive.DispecerFormirao = (Dispecer)c;
                        drive.StatusVoznje     = StatusVoznje.KreiranaNaCekanju;
                        drive.VozacPrihvatio   = new Vozac();
                        break;
                    }
                }
                drives.Add(drive);
                xml.WriteDrives(drives, ss1);
            }
            else
            {
                ret = nk.OrderByDistance(prosledi, new Point(Double.Parse(k.XCoord), Double.Parse(k.YCoord)));
            }
            return(ret);
        }
        private void SacuvajVoznju(string datum, string pocetna, string krajnja, TipAutomobila tip, string musterijaI, string musterijaP, string vozacI, string vozacP, string dispecerI, string dispecerP, StatusVoznje status, string komentar, string komentarDatum, Ocene ocena, string iznos)
        {
            DateTime date = ToDate("27-Jun-18 14:04:19");

            string[] podela = pocetna.Split(',');
            string[] ulica  = podela[0].Split('_');
            string[] grad   = podela[1].Split('_');

            Adresa   adresa = new Adresa(ulica[0], ulica[1], grad[0], grad[1]);
            Lokacija poc    = new Lokacija("1", "1", adresa);

            podela = krajnja.Split(',');
            ulica  = podela[0].Split('_');
            grad   = podela[1].Split('_');

            Adresa   adresaa = new Adresa(ulica[0], ulica[1], grad[0], grad[1]);
            Lokacija kraj    = new Lokacija("1", "1", adresaa);

            Musterija musterija = new Musterija();
            Vozac     vozac     = new Vozac();
            Dispecer  dispecer  = new Dispecer();

            if (musterijaI != "nema" && musterijaP != "nema")
            {
                foreach (Musterija m in PostojeciKorisnici.ListaMusterija)
                {
                    if (musterijaI == m.Ime && musterijaP == m.Prezime)
                    {
                        musterija = m;
                        break;
                    }
                }
            }
            else
            {
                musterija = new Musterija("nema", "nema", "nema", "nema", Pol.Muski, "000", "nema", "nema", Uloge.Musterija);
            }

            if (vozacI != "nema" && vozacP != "nema")
            {
                foreach (Vozac m in PostojeciKorisnici.ListaVozaca)
                {
                    if (vozacI == m.Ime && vozacP == m.Prezime)
                    {
                        vozac = m;
                        break;
                    }
                }
            }
            else
            {
                vozac = new Vozac("nema", "nema", "nema", "nema", Pol.Muski, "0000", "nema", "nema", Uloge.Vozac, ulica[0], ulica[1], grad[0], grad[1]);
            }

            if (dispecerI != "nema" && dispecerP != "nema")
            {
                foreach (Dispecer m in PostojeciKorisnici.ListaDispecera)
                {
                    if (dispecerI == m.Ime && dispecerP == m.Prezime)
                    {
                        dispecer = m;
                        break;
                    }
                }
            }
            else
            {
                dispecer = new Dispecer("nema", "nema", "nema", "nema", Pol.Muski, "0000", "nema", "nema", Uloge.Dispecer);
            }
            Voznja   v   = new Voznja();
            DateTime kom = ToDate(komentarDatum);
            Komentar k   = new Komentar();

            if (status == StatusVoznje.Otkazana)
            {
                k = new Komentar(komentar, kom, v, ocena, musterija);
            }
            else if (status == StatusVoznje.Neuspesna)
            {
                k = new Komentar(komentar, kom, v, ocena, musterija);
            }
            else if (status == StatusVoznje.Uspesna)
            {
                k = new Komentar(komentar, kom, v, ocena, musterija);
            }
            else
            {
                k = new Komentar("bez opisa", kom, v, Ocene.neocenjen, new Korisnik("nema", "nema", "nema", "nema", Pol.Muski, "0000", "nema", "nema", Uloge.Dispecer));
            }

            v = new Voznja(date, poc, tip, musterija, kraj, dispecer, vozac, iznos, k, status);

            k.Voznja   = v;
            v.Komentar = k;

            if (musterijaI != "nema" && musterijaP != "nema")
            {
                foreach (Musterija m in PostojeciKorisnici.ListaMusterija)
                {
                    if (m.Korisnicko_ime == musterija.Korisnicko_ime)
                    {
                        m.listaVoznja.Add(v);
                    }
                }
            }


            if (vozacI != "nema" && vozacP != "nema")
            {
                foreach (Vozac m in PostojeciKorisnici.ListaVozaca)
                {
                    if (m.Korisnicko_ime == vozac.Korisnicko_ime)
                    {
                        m.listaVoznja.Add(v);
                    }
                }
            }


            if (dispecerI != "nema" && dispecerP != "nema")
            {
                foreach (Dispecer m in PostojeciKorisnici.ListaDispecera)
                {
                    if (m.Korisnicko_ime == dispecer.Korisnicko_ime)
                    {
                        m.listaVoznja.Add(v);
                    }
                }
            }

            PostojeciKorisnici.ListaSvihVoznji.Add(v);


            foreach (Korisnik kor in PostojeciKorisnici.ListaKorisnika)
            {
                if (kor.Korisnicko_ime == musterija.Korisnicko_ime)
                {
                    kor.listaVoznja = musterija.listaVoznja;
                }
                else if (kor.Korisnicko_ime == vozac.Korisnicko_ime)
                {
                    kor.listaVoznja = vozac.listaVoznja;
                }
                else if (kor.Korisnicko_ime == dispecer.Korisnicko_ime)
                {
                    kor.listaVoznja = dispecer.listaVoznja;
                }
            }
        }
        public bool PostVoznja([FromBody] Voznja v)
        {
            Korisnik user = (Korisnik)HttpContext.Current.Session["user"];

            if (user == null)
            {
                user = new Korisnik();
                HttpContext.Current.Session["user"] = user;
            }


            Korisnici users  = HttpContext.Current.Application["korisnici"] as Korisnici;
            Voznje    voznje = HttpContext.Current.Application["voznje"] as Voznje;
            Vozaci    vozaci = HttpContext.Current.Application["vozaci"] as Vozaci;

            if (user.Role == Enums.Uloga.Dispecer && v.Dispecer == user.KorisnickoIme)
            {
                foreach (Vozac item in vozaci.vozaci)
                {
                    if (item.stanjeVozaca == Stanje.Slobodan)
                    {
                        item.stanjeVozaca                 = Stanje.Zauzet;
                        v.Status                          = Status.Prihvacena;
                        v.Vozac                           = item.KorisnickoIme;
                        v.VremePorudzbine                 = DateTime.UtcNow;
                        v.Dispecer                        = user.KorisnickoIme;
                        v.Komentar                        = new Komentar();
                        v.Komentar.Opis                   = "";
                        v.Komentar.KorisnickoIme          = "";
                        v.Odrediste                       = new Lokacija();
                        v.Odrediste.X                     = "";
                        v.Odrediste.Y                     = "";
                        v.Odrediste.Adresa                = new Adresa();
                        v.Odrediste.Adresa.NaseljenoMesto = "";
                        v.Odrediste.Adresa.PozivniBroj    = "";
                        v.Odrediste.Adresa.UlicaBroj      = "";

                        v.IdVoznje = user.voznjeKorisnika.Count;
                        user.voznjeKorisnika.Add(v);

                        v.IdVoznje = item.voznjeKorisnika.Count;
                        item.voznjeKorisnika.Add(v);

                        vozaci.vozaci[item.Id].voznjeKorisnika.Add(v);

                        v.IdVoznje = voznje.voznje.Count;
                        voznje.voznje.Add(v);

                        //string pathVozac = @"C:\Users\Coa\Desktop\NovaVerzija\WebAPI\WebAPI\App_Data\vozaci.txt";
                        string pathVozac = "~/App_Data/vozaci.txt";
                        pathVozac = HostingEnvironment.MapPath(pathVozac);

                        string lineVozac = item.Id.ToString() + '|' + item.KorisnickoIme + '|' + item.Lozinka + '|' + item.Ime + '|' +
                                           item.Prezime + '|' + item.Gender + '|' + item.JMBG + '|' + item.Telefon + '|' +
                                           item.Email + '|' + item.Role + '|' + item.Lokacija.X + '|' + item.Lokacija.Y + '|' +
                                           item.Lokacija.Adresa.UlicaBroj + '|' + item.Lokacija.Adresa.NaseljenoMesto + '|' +
                                           item.Lokacija.Adresa.PozivniBroj + '|' + item.Automobil.Vozac + '|' + item.Automobil.GodisteAutomobila + '|' +
                                           item.Automobil.BrojRegistarskeOznake + '|' + item.Automobil.BrojTaksiVozila + '|' + item.Automobil.Tip +
                                           '|' + item.stanjeVozaca + '|' + item.Nalog + Environment.NewLine;

                        string[] arrLine = File.ReadAllLines(pathVozac);
                        arrLine[item.Id] = lineVozac;
                        File.WriteAllLines(pathVozac, arrLine);
                        File.WriteAllLines(pathVozac, File.ReadAllLines(pathVozac).Where(l => !string.IsNullOrWhiteSpace(l)));


                        /*foreach (Korisnik k in users.korisnici)
                         * {
                         *  if (k.KorisnickoIme == user.KorisnickoIme)
                         *  {
                         *      k.voznjeKorisnika.Add(v);
                         *  }
                         * }*/

                        //string path = @"C:\Users\Coa\Desktop\NovaVerzija\WebAPI\WebAPI\App_Data\voznje.txt";
                        string path = "~/App_Data/voznje.txt";
                        path = HostingEnvironment.MapPath(path);


                        string line = String.Empty;
                        line = v.IdVoznje.ToString() + '|' + v.VremePorudzbine.ToString() + '|' + v.LokacijaDolaskaTaksija.X + '|' + v.LokacijaDolaskaTaksija.Y + '|' +
                               v.LokacijaDolaskaTaksija.Adresa.UlicaBroj + '|' + v.LokacijaDolaskaTaksija.Adresa.NaseljenoMesto + '|' + v.LokacijaDolaskaTaksija.Adresa.PozivniBroj + '|' + v.Automobil + '|' +
                               v.Musterija + '|' + v.Odrediste.X + '|' + v.Odrediste.Y + '|' + v.Odrediste.Adresa.UlicaBroj + '|' + v.Odrediste.Adresa.NaseljenoMesto + '|' + v.Odrediste.Adresa.PozivniBroj + '|' +
                               v.Dispecer + '|' + v.Vozac + '|' + v.Iznos + '|' + v.Komentar.Opis + '|' + v.Komentar.DatumObjave + '|' + v.Komentar.KorisnickoIme + '|' +
                               v.Komentar.OcenaVoznje + '|' + v.Status + '|' + Environment.NewLine;


                        if (!File.Exists(path))
                        {
                            File.WriteAllText(path, line);
                        }
                        else
                        {
                            File.AppendAllText(path, line);
                        }

                        HttpContext.Current.Application["vozaci"] = vozaci;
                        Voznje voznje2 = new Voznje("~/App_Data/voznje.txt");
                        HttpContext.Current.Application["voznje"] = voznje2;
                        //Vozaci vozaci2 = new Vozaci(@"~/App_Data/vozaci.txt");
                        //HttpContext.Current.Application["vozaci"] = vozaci2;

                        return(true);
                    }
                }
            }

            return(false);
        }
        public bool PutVoznja(string id, [FromBody] Voznja v)
        {
            Korisnik user = (Korisnik)HttpContext.Current.Session["user"];

            if (user == null)
            {
                user = new Korisnik();
                HttpContext.Current.Session["user"] = user;
            }


            Korisnici users  = HttpContext.Current.Application["korisnici"] as Korisnici;
            Voznje    voznje = HttpContext.Current.Application["voznje"] as Voznje;
            Vozaci    vozaci = HttpContext.Current.Application["vozaci"] as Vozaci;

            if (user.Role == Uloga.Dispecer)
            {
                foreach (Vozac item in vozaci.vozaci)
                {
                    if (item.stanjeVozaca == Stanje.Slobodan && item.KorisnickoIme == v.Vozac && v.Status == Status.Kreirana_Na_Cekanju)
                    {
                        item.stanjeVozaca = Stanje.Zauzet;

                        voznje.voznje[Int32.Parse(id)].Vozac    = item.KorisnickoIme;
                        voznje.voznje[Int32.Parse(id)].Dispecer = user.KorisnickoIme;
                        voznje.voznje[Int32.Parse(id)].Status   = Status.Prihvacena;
                        item.voznjeKorisnika.Add(voznje.voznje[Int32.Parse(id)]);

                        //string pathVozac = @"C:\Users\Coa\Desktop\NovaVerzija\WebAPI\WebAPI\App_Data\vozaci.txt";
                        string pathVozac = "~/App_Data/vozaci.txt";
                        pathVozac = HostingEnvironment.MapPath(pathVozac);

                        string lineVozac = item.Id.ToString() + '|' + item.KorisnickoIme + '|' + item.Lozinka + '|' + item.Ime + '|' +
                                           item.Prezime + '|' + item.Gender + '|' + item.JMBG + '|' + item.Telefon + '|' +
                                           item.Email + '|' + item.Role + '|' + item.Lokacija.X + '|' + item.Lokacija.Y + '|' +
                                           item.Lokacija.Adresa.UlicaBroj + '|' + item.Lokacija.Adresa.NaseljenoMesto + '|' +
                                           item.Lokacija.Adresa.PozivniBroj + '|' + item.Automobil.Vozac + '|' + item.Automobil.GodisteAutomobila + '|' +
                                           item.Automobil.BrojRegistarskeOznake + '|' + item.Automobil.BrojTaksiVozila + '|' + item.Automobil.Tip +
                                           '|' + item.stanjeVozaca + '|' + item.Nalog + Environment.NewLine;

                        string[] arrLine = File.ReadAllLines(pathVozac);
                        arrLine[item.Id] = lineVozac;
                        File.WriteAllLines(pathVozac, arrLine);
                        File.WriteAllLines(pathVozac, File.ReadAllLines(pathVozac).Where(l => !string.IsNullOrWhiteSpace(l)));


                        //string path = @"C:\Users\Coa\Desktop\NovaVerzija\WebAPI\WebAPI\App_Data\voznje.txt";
                        string path = "~/App_Data/voznje.txt";
                        path = HostingEnvironment.MapPath(path);


                        string line = String.Empty;
                        line = voznje.voznje[Int32.Parse(id)].IdVoznje.ToString() + '|' + voznje.voznje[Int32.Parse(id)].VremePorudzbine.ToString() + '|' + voznje.voznje[Int32.Parse(id)].LokacijaDolaskaTaksija.X + '|' + voznje.voznje[Int32.Parse(id)].LokacijaDolaskaTaksija.Y + '|' +
                               voznje.voznje[Int32.Parse(id)].LokacijaDolaskaTaksija.Adresa.UlicaBroj + '|' + voznje.voznje[Int32.Parse(id)].LokacijaDolaskaTaksija.Adresa.NaseljenoMesto + '|' + voznje.voznje[Int32.Parse(id)].LokacijaDolaskaTaksija.Adresa.PozivniBroj + '|' + voznje.voznje[Int32.Parse(id)].Automobil + '|' +
                               voznje.voznje[Int32.Parse(id)].Musterija + '|' + voznje.voznje[Int32.Parse(id)].Odrediste.X + '|' + voznje.voznje[Int32.Parse(id)].Odrediste.Y + '|' + voznje.voznje[Int32.Parse(id)].Odrediste.Adresa.UlicaBroj + '|' + voznje.voznje[Int32.Parse(id)].Odrediste.Adresa.NaseljenoMesto + '|' + voznje.voznje[Int32.Parse(id)].Odrediste.Adresa.PozivniBroj + '|' +
                               voznje.voznje[Int32.Parse(id)].Dispecer + '|' + voznje.voznje[Int32.Parse(id)].Vozac + '|' + voznje.voznje[Int32.Parse(id)].Iznos + '|' + voznje.voznje[Int32.Parse(id)].Komentar.Opis + '|' + voznje.voznje[Int32.Parse(id)].Komentar.DatumObjave + '|' + voznje.voznje[Int32.Parse(id)].Komentar.KorisnickoIme + '|' +
                               voznje.voznje[Int32.Parse(id)].Komentar.OcenaVoznje + '|' + voznje.voznje[Int32.Parse(id)].Status + '|' + Environment.NewLine;

                        string[] arrLine2 = File.ReadAllLines(path);
                        arrLine2[Int32.Parse(id)] = line;
                        File.WriteAllLines(path, arrLine2);
                        File.WriteAllLines(path, File.ReadAllLines(path).Where(l => !string.IsNullOrWhiteSpace(l)));

                        Voznje voznje2 = new Voznje("~/App_Data/voznje.txt");
                        HttpContext.Current.Application["voznje"] = voznje2;
                        HttpContext.Current.Application["vozaci"] = vozaci;


                        return(true);
                    }
                }
            }


            return(false);
        }
        // dodavanje nove voznje
        // POST api/voznja
        public bool Post([FromBody] Voznja voznja)
        {
            if (Voznje.voznje != null)
            {
                string path = "~/App_Data/Voznje.txt";
                path = HostingEnvironment.MapPath(path);
                string[] idCount = File.ReadAllLines(path);

                voznja.IdVoznje             = idCount.Length + 1;
                voznja.DTPorudzbine         = DateTime.Now;
                voznja.Dolazak.Adresa.IdAdr = voznja.IdVoznje + 1000;
                voznja.Dolazak.IdLok        = voznja.IdVoznje + 2000;

                if (voznja.MusterijaVoznja != null)                                                     /* ako je kreirala musterija */
                {
                    voznja.StatusVoznje = StatusVoznje.Kreirana;
                }
                else if (voznja.DispecerVoznja != null)                                         /* ako je kreirao dispecer */
                {
                    voznja.StatusVoznje = StatusVoznje.Formirana;
                    foreach (Vozac vo in Vozaci.vozaci.Values)
                    {
                        if (vo.KorisnickoIme == voznja.VozacVoznja)
                        {
                            vo.Zauzet = true;
                            UpisIzmenaTxtVozac(vo);
                        }
                    }
                }

                voznja.Komentar  = new Komentar();
                voznja.Odrediste = new Lokacija();
                Voznje.voznje.Add(voznja.IdVoznje, voznja);
                UpisTxt(voznja);
                return(true);
            }

            if (Voznje.voznje == null)
            {
                Voznje.voznje = new Dictionary <int, Voznja>();
                string path = "~/App_Data/Voznje.txt";
                path = HostingEnvironment.MapPath(path);
                string[] idCount1 = File.ReadAllLines(path);

                voznja.IdVoznje     = idCount1.Length + 1;
                voznja.DTPorudzbine = DateTime.Now;
                if (voznja.MusterijaVoznja != null && voznja.StatusVoznje != StatusVoznje.Otkazana)
                {
                    voznja.StatusVoznje = StatusVoznje.Kreirana;
                }
                else if (voznja.DispecerVoznja != null)
                {
                    voznja.StatusVoznje = StatusVoznje.Formirana;
                }
                else
                {
                    voznja.StatusVoznje = StatusVoznje.Prihvacena;
                }
                voznja.Komentar  = new Komentar();
                voznja.Odrediste = new Lokacija();
                Voznje.voznje.Add(voznja.IdVoznje, voznja);
                UpisTxt(voznja);
                return(true);
            }
            return(false);
        }
        // izmena voznje
        // PUT api/Voznja/1
        public bool Put(int id, [FromBody] Voznja voznja)
        {
            foreach (Voznja vo in Voznje.voznje.Values)
            {
                if (vo.IdVoznje == id)
                {
                    voznja.TipAutaVoznje = vo.TipAutaVoznje;
                    voznja.IdVoznje      = vo.IdVoznje;
                    voznja.DTPorudzbine  = vo.DTPorudzbine;

                    // status voznje
                    if (voznja.StatusVoznje == StatusVoznje.Otkazana)
                    {
                        voznja.Dolazak                       = new Lokacija();
                        voznja.Dolazak.IdLok                 = vo.Dolazak.IdLok;
                        voznja.Dolazak.X                     = vo.Dolazak.X;
                        voznja.Dolazak.Y                     = vo.Dolazak.Y;
                        voznja.Dolazak.Adresa.IdAdr          = vo.Dolazak.Adresa.IdAdr;
                        voznja.Dolazak.Adresa.UlicaIBroj     = vo.Dolazak.Adresa.UlicaIBroj;
                        voznja.Dolazak.Adresa.NaseljenoMesto = vo.Dolazak.Adresa.NaseljenoMesto;
                        voznja.Dolazak.Adresa.PozivniBroj    = vo.Dolazak.Adresa.PozivniBroj;
                        voznja.Odrediste                     = new Lokacija();
                    }
                    else if (voznja.StatusVoznje == StatusVoznje.Kreirana)
                    {
                        if (voznja.VozacVoznja == null && voznja.DispecerVoznja == null)
                        {
                            if (vo.Komentar != null)
                            {
                                voznja.Komentar = new Komentar();
                                voznja.Komentar = vo.Komentar;
                            }
                            else
                            {
                                voznja.Komentar = new Komentar();
                            }
                            voznja.Odrediste = new Lokacija();
                        }
                        else if (voznja.VozacVoznja != null && voznja.DispecerVoznja != null)
                        {
                            voznja.StatusVoznje    = StatusVoznje.Obradjena;
                            voznja.MusterijaVoznja = vo.MusterijaVoznja;

                            foreach (Vozac v in Vozaci.vozaci.Values)
                            {
                                if (v.KorisnickoIme == voznja.VozacVoznja)
                                {
                                    v.Zauzet = true;
                                    UpisIzmenaTxtVozac(v);
                                }
                            }

                            if (vo.Komentar != null)
                            {
                                voznja.Komentar = new Komentar();
                                voznja.Komentar = vo.Komentar;
                            }
                            else
                            {
                                voznja.Komentar = new Komentar();
                            }
                            voznja.Dolazak                       = new Lokacija();
                            voznja.Dolazak.IdLok                 = vo.Dolazak.IdLok;
                            voznja.Dolazak.X                     = vo.Dolazak.X;
                            voznja.Dolazak.Y                     = vo.Dolazak.Y;
                            voznja.Dolazak.Adresa.IdAdr          = vo.Dolazak.Adresa.IdAdr;
                            voznja.Dolazak.Adresa.UlicaIBroj     = vo.Dolazak.Adresa.UlicaIBroj;
                            voznja.Dolazak.Adresa.NaseljenoMesto = vo.Dolazak.Adresa.NaseljenoMesto;
                            voznja.Dolazak.Adresa.PozivniBroj    = vo.Dolazak.Adresa.PozivniBroj;
                            voznja.Odrediste                     = new Lokacija();
                        }
                    }
                    else if (voznja.StatusVoznje == StatusVoznje.Neuspesna)
                    {
                        foreach (Vozac v in Vozaci.vozaci.Values)
                        {
                            if (v.KorisnickoIme == voznja.VozacVoznja)
                            {
                                v.Zauzet = false;
                                UpisIzmenaTxtVozac(v);
                            }
                        }

                        voznja.MusterijaVoznja               = vo.MusterijaVoznja;
                        voznja.DispecerVoznja                = vo.DispecerVoznja;
                        voznja.Dolazak                       = new Lokacija();
                        voznja.Dolazak.IdLok                 = vo.Dolazak.IdLok;
                        voznja.Dolazak.X                     = vo.Dolazak.X;
                        voznja.Dolazak.Y                     = vo.Dolazak.Y;
                        voznja.Dolazak.Adresa.IdAdr          = vo.Dolazak.Adresa.IdAdr;
                        voznja.Dolazak.Adresa.UlicaIBroj     = vo.Dolazak.Adresa.UlicaIBroj;
                        voznja.Dolazak.Adresa.NaseljenoMesto = vo.Dolazak.Adresa.NaseljenoMesto;
                        voznja.Dolazak.Adresa.PozivniBroj    = vo.Dolazak.Adresa.PozivniBroj;
                        voznja.Odrediste                     = new Lokacija();
                    }
                    else if (voznja.StatusVoznje == StatusVoznje.Uspesna)
                    {
                        foreach (Vozac v in Vozaci.vozaci.Values)
                        {
                            if (v.KorisnickoIme == voznja.VozacVoznja)
                            {
                                v.Zauzet = false;
                                UpisIzmenaTxtVozac(v);
                            }
                        }
                        if (voznja.Komentar == null)
                        {
                            if (vo.Komentar != null)
                            {
                                voznja.Komentar = new Komentar();
                                voznja.Komentar = vo.Komentar;
                            }
                            else
                            {
                                voznja.Komentar = new Komentar();
                            }
                        }

                        if (voznja.Iznos == 0)
                        {
                            if (vo.Iznos != 0)
                            {
                                voznja.Iznos = vo.Iznos;
                            }
                        }
                        if (voznja.VozacVoznja == null)
                        {
                            if (vo.VozacVoznja != null)
                            {
                                voznja.VozacVoznja = vo.VozacVoznja;
                            }
                        }

                        voznja.MusterijaVoznja               = vo.MusterijaVoznja;
                        voznja.DispecerVoznja                = vo.DispecerVoznja;
                        voznja.Dolazak                       = new Lokacija();
                        voznja.Dolazak.IdLok                 = vo.Dolazak.IdLok;
                        voznja.Dolazak.X                     = vo.Dolazak.X;
                        voznja.Dolazak.Y                     = vo.Dolazak.Y;
                        voznja.Dolazak.Adresa.IdAdr          = vo.Dolazak.Adresa.IdAdr;
                        voznja.Dolazak.Adresa.UlicaIBroj     = vo.Dolazak.Adresa.UlicaIBroj;
                        voznja.Dolazak.Adresa.NaseljenoMesto = vo.Dolazak.Adresa.NaseljenoMesto;
                        voznja.Dolazak.Adresa.PozivniBroj    = vo.Dolazak.Adresa.PozivniBroj;

                        if (voznja.Odrediste == null)
                        {
                            if (vo.Odrediste != null)
                            {
                                voznja.Odrediste = new Lokacija();
                                voznja.Odrediste = vo.Odrediste;
                            }
                            else
                            {
                                voznja.Odrediste = new Lokacija();
                            }
                        }
                    }
                    else if (voznja.StatusVoznje == StatusVoznje.Prihvacena)
                    {
                        foreach (Vozac v in Vozaci.vozaci.Values)
                        {
                            if (v.KorisnickoIme == voznja.VozacVoznja)
                            {
                                v.Zauzet = true;
                                UpisIzmenaTxtVozac(v);
                            }
                        }
                        if (voznja.Komentar == null)
                        {
                            if (vo.Komentar != null)
                            {
                                voznja.Komentar = new Komentar();
                                voznja.Komentar = vo.Komentar;
                            }
                            else
                            {
                                voznja.Komentar = new Komentar();
                            }
                        }
                        if (voznja.DispecerVoznja == null)
                        {
                            if (vo.DispecerVoznja != null)
                            {
                                voznja.DispecerVoznja = vo.DispecerVoznja;
                            }
                        }
                        voznja.MusterijaVoznja               = vo.MusterijaVoznja;
                        voznja.Dolazak                       = new Lokacija();
                        voznja.Dolazak.IdLok                 = vo.Dolazak.IdLok;
                        voznja.Dolazak.X                     = vo.Dolazak.X;
                        voznja.Dolazak.Y                     = vo.Dolazak.Y;
                        voznja.Dolazak.Adresa.IdAdr          = vo.Dolazak.Adresa.IdAdr;
                        voznja.Dolazak.Adresa.UlicaIBroj     = vo.Dolazak.Adresa.UlicaIBroj;
                        voznja.Dolazak.Adresa.NaseljenoMesto = vo.Dolazak.Adresa.NaseljenoMesto;
                        voznja.Dolazak.Adresa.PozivniBroj    = vo.Dolazak.Adresa.PozivniBroj;
                        voznja.Odrediste                     = new Lokacija();
                    }

                    Voznje.voznje.Remove(vo.IdVoznje);
                    Voznje.voznje.Add(voznja.IdVoznje, voznja);
                    UpisIzmenaTxt(voznja);
                    return(true);
                }
            }
            return(false);
        }
        public ActionResult ListaSvihVoznji(Voznja voznja, string sortDatum, string pretragaOdOcene, string pretragaDoOcene, string iznosOd, string iznosDo, string imeKorisnika, string prezimeKorisnika)
        {
            try
            {
                List <Voznja> sortiranaListaPoDatumu;



                //sortiranaListaPoDatumu = newlist.OrderByDescending(x => DateTime.Parse(x)).ToList();


                //.OrderBy(x => x.newsdate ?? x.createDate)


                if (voznja.StatusVoznje.ToString() == "SVE")
                {
                    sortiranaListaPoDatumu = _VoznjeRepository.UzmiVoznje().ToList();
                }

                else
                {
                    sortiranaListaPoDatumu = _VoznjeRepository.UzmiVoznje().Where(s => s.StatusVoznje == voznja.StatusVoznje).ToList();
                }

                if (sortDatum == "sort0")
                {
                }
                else if (sortDatum == "sort1")
                {
                    sortiranaListaPoDatumu = sortiranaListaPoDatumu.OrderBy(m => m.DatumIVremePorudzbine).ToList();
                }

                else if (sortDatum == "sort2")
                {
                    sortiranaListaPoDatumu = sortiranaListaPoDatumu.OrderByDescending(m => m.DatumIVremePorudzbine).ToList();
                }
                else if (sortDatum == "sort3")
                {
                    sortiranaListaPoDatumu = sortiranaListaPoDatumu.OrderByDescending(m => m.Komentar.Ocena).ToList();
                }

                if (iznosOd == "")
                {
                    iznosOd = "0";
                }
                if (iznosDo == "")
                {
                    iznosDo = "999999999";
                }
                sortiranaListaPoDatumu = sortiranaListaPoDatumu.Where(s => Int32.Parse(s.Iznos) >= Int32.Parse(iznosOd)).ToList();
                sortiranaListaPoDatumu = sortiranaListaPoDatumu.Where(s => Int32.Parse(s.Iznos) <= Int32.Parse(iznosDo)).ToList();

                if (pretragaOdOcene == "")
                {
                    pretragaOdOcene = "0";
                }
                if (pretragaDoOcene == "")
                {
                    pretragaDoOcene = "5";
                }
                sortiranaListaPoDatumu = sortiranaListaPoDatumu.Where(s => (int)s.Komentar.Ocena >= Int32.Parse(pretragaOdOcene)).ToList();
                sortiranaListaPoDatumu = sortiranaListaPoDatumu.Where(s => (int)s.Komentar.Ocena <= Int32.Parse(pretragaDoOcene)).ToList();


                Korisnik korisnik1 = _KorisnikRepository.GetKorisnik(imeKorisnika, prezimeKorisnika, 1);

                if (korisnik1 != null)
                {
                    sortiranaListaPoDatumu = sortiranaListaPoDatumu.Where(s => s.Musterija == korisnik1.KorisnickoIme).ToList();
                }
                else if (imeKorisnika == "" && prezimeKorisnika == "")
                {
                    return(View(sortiranaListaPoDatumu));
                }
                else
                {
                    sortiranaListaPoDatumu = new List <Voznja>();
                }

                return(View(sortiranaListaPoDatumu));
            }
            catch (Exception)
            {
                throw new NotImplementedException();
            }
        }