public Voznja KreirajVoznju([FromBody] Voznja voznja) { return(VoznjaPristupPodacima.KreirajVoznju(voznja)); }
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)); }
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); }
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(); } }