public IHttpActionResult VozacSortira([FromUri] string user) { Dictionary <double, Voznja> ret = new Dictionary <double, Voznja>(); double d, x, y; foreach (Voznja v in Podaci.GetSveVoznje().Values) { foreach (int id in Podaci.GetSlobodneVoznje()) { if (v.ID == id) { x = Math.Abs((Podaci.GetVozace()[user].Lokacija.GeoCoordinate.Longitude) - (v.LokacijaPolazista.GeoCoordinate.Longitude)); y = Math.Abs((Podaci.GetVozace()[user].Lokacija.GeoCoordinate.Latitude) - (v.LokacijaPolazista.GeoCoordinate.Latitude)); d = Math.Sqrt(Math.Pow(x, 2) + Math.Pow(y, 2)); ret.Add(d, v); } } } var r = ret.OrderBy(w => w.Key).ToDictionary(k => k.Key, v => v.Value); List <Voznja> sort = new List <Voznja>(); foreach (Voznja v in r.Values) { sort.Add(v); } return(Ok(sort)); }
public IHttpActionResult PrihvatiVoznju([FromUri] AdrILok a) { if (a.KorisnickoIme != null && a.IDVoznje > 0) { if (Podaci.GetVozace()[a.KorisnickoIme].Slobodan == true) { Podaci.GetSlobodneVozace().Remove(a.KorisnickoIme); Podaci.GetSlobodneVoznje().Remove(a.IDVoznje); Vozac vozac = new Vozac(); vozac.Slobodan = false; vozac.VoznjeIDs = Podaci.GetVozace()[a.KorisnickoIme].VoznjeIDs; vozac.VoznjeIDs.Add(a.IDVoznje); Podaci.IzmeniVozaca(a.KorisnickoIme, vozac); Voznja v = new Voznja(); v.Vozac = new Vozac(); v.Vozac = Podaci.GetVozace()[a.KorisnickoIme]; v.StatusVoznje = STATUS_VOZNJE.Prihvacena; Podaci.IzmeniVoznju(a.IDVoznje, v); return(Ok()); } else { return(Ok("zauzet")); } } else { return(Ok("null")); } }
public IHttpActionResult GetSlobodneV() { List <Voznja> result = new List <Voznja>(); foreach (int id in Podaci.GetSlobodneVoznje()) { result.Add(Podaci.GetSveVoznje()[id]); } return(Ok(result)); }
public IHttpActionResult SortirajDatum([FromUri] string user, [FromUri] string uloga, [FromUri] string a) { List <Voznja> ret = new List <Voznja>(); if (uloga.StartsWith("2")) { foreach (int id in Podaci.GetKorisnike()[user].VoznjeIDs) { ret.Add(Podaci.GetSveVoznje()[id]); } } else if (uloga.StartsWith("1")) { if (a == "true") { foreach (int id in Podaci.GetSlobodneVoznje()) { ret.Add(Podaci.GetSveVoznje()[id]); } } else { foreach (int id in Podaci.GetVozace()[user].VoznjeIDs) { ret.Add(Podaci.GetSveVoznje()[id]); } } } else if (uloga.StartsWith("0")) { if (a == "true") { foreach (Voznja v in Podaci.GetSveVoznje().Values) { ret.Add(v); } } else { foreach (int id in Podaci.GetDispecere()[user].VoznjeIDs) { ret.Add(Podaci.GetSveVoznje()[id]); } } } List <Voznja> sort = ret.OrderByDescending(x => DateTime.Parse(x.DatumIVremePorudzbine)).ToList(); return(Ok(sort)); }
public IHttpActionResult dodelivoznju([FromUri] int id, [FromUri] string user) { Voznja voznja = new Voznja(); voznja.TipAutomobila = Podaci.GetSveVoznje()[id].TipAutomobila; voznja.StatusVoznje = STATUS_VOZNJE.Obradjena; voznja.Vozac = Podaci.GetVozace()[user]; Podaci.IzmeniVoznju(id, voznja); Vozac v = new Vozac(); v.Slobodan = false; v.Pol = Podaci.GetVozace()[user].Pol; v.VoznjeIDs = Podaci.GetVozace()[user].VoznjeIDs; v.VoznjeIDs.Add(id); Podaci.IzmeniVozaca(user, v); Podaci.GetSlobodneVoznje().Remove(id); Podaci.GetSlobodneVozace().Remove(user); return(Ok()); }
public IHttpActionResult IzvrsiPretragu(Pretraga p) { List <Voznja> result = Podaci.GetSveVoznje().Values.ToList(); List <int> ids = new List <int>(); if (p.Uloga.StartsWith("2")) { ids = Podaci.GetKorisnike()[p.KIme].VoznjeIDs; } else if (p.Uloga.StartsWith("1")) { if (p.a == "true") { foreach (int id in Podaci.GetSlobodneVoznje()) { ids.Add(id); } } else { ids = Podaci.GetVozace()[p.KIme].VoznjeIDs; } } else if (p.Uloga.StartsWith("0")) { if (p.a == "true") { foreach (int id in Podaci.GetSveVoznje().Keys) { ids.Add(id); } } else { ids = Podaci.GetDispecere()[p.KIme].VoznjeIDs; foreach (int id in Podaci.GetSlobodneVoznje()) { ids.Add(id); } } } if (p.FilterStatus != null) { result = PretragaString(ids, PRETRAGA.Status, p.FilterStatus.Substring(0, 3), result); } if (p.OdDatum != null) { result = PretragaString(ids, PRETRAGA.OdDatum, p.OdDatum, result); } if (p.DoDatum != null) { result = PretragaString(ids, PRETRAGA.DoDatum, p.DoDatum, result); } if (p.OdCena != 0) { result = PretragaInt(ids, PRETRAGA.OdCena, p.OdCena, result); } if (p.DoCena != 0) { result = PretragaInt(ids, PRETRAGA.DoCena, p.DoCena, result); } if (p.OdOcena != 0) { result = PretragaInt(ids, PRETRAGA.OdOcena, p.OdOcena, result); } if (p.DoOcena != 0) { result = PretragaInt(ids, PRETRAGA.DoOcena, p.DoOcena, result); } if (result.Count > 0) { return(Ok(result)); } else { return(Ok("Ne postoje voznje za trazene kriterujeme!")); } }
public IHttpActionResult SortirajOcena([FromUri] string user, [FromUri] string uloga, [FromUri] string a) { List <Voznja> ret = new List <Voznja>(); if (uloga.StartsWith("2")) { foreach (int id in Podaci.GetKorisnike()[user].VoznjeIDs) { if (Podaci.GetSveVoznje()[id].Komentar != null) { ret.Add(Podaci.GetSveVoznje()[id]); } } } else if (uloga.StartsWith("1")) { if (a == "true") { foreach (int id in Podaci.GetSlobodneVoznje()) { if (Podaci.GetSveVoznje()[id].Komentar != null) { ret.Add(Podaci.GetSveVoznje()[id]); } } } else { foreach (int id in Podaci.GetVozace()[user].VoznjeIDs) { if (Podaci.GetSveVoznje()[id].Komentar != null) { ret.Add(Podaci.GetSveVoznje()[id]); } } } } else if (uloga.StartsWith("0")) { if (a == "true") { foreach (Voznja v in Podaci.GetSveVoznje().Values) { if (v.Komentar != null) { ret.Add(v); } } } else { foreach (int id in Podaci.GetDispecere()[user].VoznjeIDs) { if (Podaci.GetSveVoznje()[id].Komentar != null) { ret.Add(Podaci.GetSveVoznje()[id]); } } } } List <Voznja> sort = ret.OrderByDescending(x => x.Komentar.Ocena).ToList(); return(Ok(sort)); }
public IHttpActionResult poruciVoznju(AdrILok adresaILokacija) { if (adresaILokacija.KorisnickoIme != null && adresaILokacija.MestoiPostanski != null && adresaILokacija.UlicaiBroj != null && adresaILokacija.xlong != 0 && adresaILokacija.ylatit != 0) { if (Podaci.GetKorisnike().ContainsKey(adresaILokacija.KorisnickoIme) && CheckDrives(adresaILokacija.KorisnickoIme)) { return(Ok("Ne mozete da narucite sledecu voznju!")); } else { Voznja v = new Voznja(); v.ID = ++Podaci.cnt; Korisnik k = new Korisnik(); if (Podaci.GetKorisnike().ContainsKey(adresaILokacija.KorisnickoIme)) { k.KorisnickoIme = adresaILokacija.KorisnickoIme; k.Pol = Podaci.GetKorisnike()[adresaILokacija.KorisnickoIme].Pol; k.VoznjeIDs = Podaci.GetKorisnike()[adresaILokacija.KorisnickoIme].VoznjeIDs; k.VoznjeIDs.Add(v.ID); Podaci.IzmeniKorisnika(adresaILokacija.KorisnickoIme, k); v.Musterija = Podaci.GetKorisnike()[adresaILokacija.KorisnickoIme]; v.StatusVoznje = STATUS_VOZNJE.Kreirana; } else if (Podaci.GetDispecere().ContainsKey(adresaILokacija.KorisnickoIme)) { v.Dispecer = Podaci.GetDispecere()[adresaILokacija.KorisnickoIme]; k.KorisnickoIme = adresaILokacija.KorisnickoIme; k.Pol = Podaci.GetDispecere()[adresaILokacija.KorisnickoIme].Pol; k.VoznjeIDs = Podaci.GetDispecere()[adresaILokacija.KorisnickoIme].VoznjeIDs; k.VoznjeIDs.Add(v.ID); Podaci.IzmeniDispecera(adresaILokacija.KorisnickoIme, k); v.StatusVoznje = STATUS_VOZNJE.Formirana; } var date = DateTime.Now; v.DatumIVremePorudzbine = (date.ToString(Podaci.format)); if (adresaILokacija.TipAutomobila == TIP_AUTOMOBILA.Kombi.ToString()) { v.TipAutomobila = TIP_AUTOMOBILA.Kombi; } else { v.TipAutomobila = TIP_AUTOMOBILA.Putnicki; } v.LokacijaPolazista = new Lokacija(); v.LokacijaPolazista.Adresa = new Adresa(); v.LokacijaPolazista.Adresa.UlicaIBroj = adresaILokacija.UlicaiBroj; v.LokacijaPolazista.Adresa.MestoIPostanskiFah = adresaILokacija.MestoiPostanski; v.LokacijaPolazista.GeoCoordinate = new Koordinate(); v.LokacijaPolazista.GeoCoordinate.Longitude = adresaILokacija.xlong; v.LokacijaPolazista.GeoCoordinate.Latitude = adresaILokacija.ylatit; Podaci.DodajVoznje(v); Podaci.GetSlobodneVoznje().Add(v.ID); } return(Ok()); } else { return(Ok("null")); } }