public IHttpActionResult PromeniLokaciju(AdrILok a) { if (a.KorisnickoIme != null && a.IDVoznje > 0 && a.MestoiPostanski != null && a.UlicaiBroj != null && a.xlong != 0 && a.ylatit != 0) { Voznja v = new Voznja(); Lokacija l = new Lokacija(); l.Adresa = new Adresa(); l.Adresa.MestoIPostanskiFah = a.MestoiPostanski; l.Adresa.UlicaIBroj = a.UlicaiBroj; l.GeoCoordinate = new Koordinate(); l.GeoCoordinate.Latitude = a.ylatit; l.GeoCoordinate.Longitude = a.xlong; v.LokacijaPolazista = l; v.ID = a.IDVoznje; v.TipAutomobila = Podaci.GetSveVoznje()[a.IDVoznje].TipAutomobila; Podaci.IzmeniVoznju(a.IDVoznje, v); return(Ok()); } else { return(Ok("null")); } }
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 GetVoznje([FromUri] Korisnik korisnik) { if (korisnik.Uloga.ToString().StartsWith("M")) { List <Voznja> ret = new List <Voznja>(); foreach (int id in Podaci.GetKorisnike()[korisnik.KorisnickoIme].VoznjeIDs) { ret.Add(Podaci.GetSveVoznje()[id]); } return(Ok(ret)); } else if (korisnik.Uloga.ToString().StartsWith("V")) { List <Voznja> ret = new List <Voznja>(); foreach (int id in Podaci.GetVozace()[korisnik.KorisnickoIme].VoznjeIDs) { ret.Add(Podaci.GetSveVoznje()[id]); } return(Ok(ret)); } else if (korisnik.Uloga.ToString().StartsWith("A")) { List <Voznja> ret = new List <Voznja>(); foreach (int id in Podaci.GetDispecere()[korisnik.KorisnickoIme].VoznjeIDs) { ret.Add(Podaci.GetSveVoznje()[id]); } return(Ok(ret)); } else { return(Ok("Niste porucivali voznje")); } }
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 GetSveVoznje() { List <Voznja> result = new List <Voznja>(); foreach (Voznja v in Podaci.GetSveVoznje().Values) { result.Add(v); } return(Ok(result)); }
public IHttpActionResult OtkaziVoznju([FromUri] int user) { Voznja v = Podaci.GetSveVoznje()[user]; v.StatusVoznje = STATUS_VOZNJE.Otkazana; Podaci.IzmeniVoznju(user, v); return(Ok()); }
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 GetCurrentLocation([FromUri] int id) { string result = ""; Voznja v = Podaci.GetSveVoznje()[id]; if (v.LokacijaPolazista != null) { result = v.LokacijaPolazista.Adresa.UlicaIBroj + " " + v.LokacijaPolazista.Adresa.MestoIPostanskiFah; return(Ok(result)); } else { return(Ok("")); } }
public IHttpActionResult NadjiNajblize([FromUri] int i) { Dictionary <double, Vozac> rastojanje = new Dictionary <double, Vozac>(); double d, x, y; foreach (Vozac v in Podaci.GetVozace().Values) { foreach (string kime in Podaci.GetSlobodneVozace()) { if (v.KorisnickoIme == kime) { x = Math.Abs((Podaci.GetSveVoznje()[i].LokacijaPolazista.GeoCoordinate.Longitude) - (v.Lokacija.GeoCoordinate.Longitude)); y = Math.Abs((Podaci.GetSveVoznje()[i].LokacijaPolazista.GeoCoordinate.Latitude) - (v.Lokacija.GeoCoordinate.Latitude)); d = Math.Sqrt(Math.Pow(x, 2) + Math.Pow(y, 2)); rastojanje.Add(d, v); } } } var r = rastojanje.OrderBy(w => w.Key).ToDictionary(k => k.Key, v => v.Value); List <Vozac> result = new List <Vozac>(); for (int j = 0; j < r.Count; j++) { if (j == 5) { break; } result.Add(r.ElementAt(j).Value); } if (result.Count > 0) { return(Ok(result)); } else { return(Ok("Nema slobodnih vozaca!")); } }
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 bool CheckDrives(string k) { bool ret = false; List <int> ids = new List <int>(); ids = Podaci.GetKorisnike()[k].VoznjeIDs; foreach (Voznja v in Podaci.GetSveVoznje().Values) { foreach (int id in ids) { if (v.ID == id) { if (v.StatusVoznje != STATUS_VOZNJE.Neuspesna && v.StatusVoznje != STATUS_VOZNJE.Otkazana && v.StatusVoznje != STATUS_VOZNJE.Uspesna) { ret = true; break; } } } } return(ret); }
public IHttpActionResult DodajKomentar(Komentar kom) { if (kom.Korisnik != null && kom.Ocena >= 0 && kom.Opis != null && kom.Voznja != 0) { var date = DateTime.Now; kom.DatumObjave = (date.ToString(Podaci.format)); Voznja v = new Voznja(); v.StatusVoznje = Podaci.GetSveVoznje()[kom.Voznja].StatusVoznje; v.Komentar = kom; if (kom.Ocena == 0 || kom.Ocena.CompareTo(null) == 0) { kom.Ocena = 0; } Podaci.IzmeniVoznju(kom.Voznja, v); return(Ok()); } else { return(Ok("null")); } }
public IHttpActionResult adminptretrazuje(Pretraga p) { List <Voznja> result = new List <Voznja>(); List <int> ids = new List <int>(); if (p.KIme != null) { foreach (Korisnik k in Podaci.GetKorisnike().Values) { if (k.Ime.ToLower() == p.KIme.ToLower()) { foreach (int id in k.VoznjeIDs) { ids.Add(id); } } } } else if (p.KPrezime != null) { foreach (Korisnik k in Podaci.GetKorisnike().Values) { if (k.Prezime.ToLower() == p.KPrezime.ToLower()) { foreach (int id in k.VoznjeIDs) { ids.Add(id); } } } } else if (p.VIme != null) { foreach (Vozac k in Podaci.GetVozace().Values) { if (k.Ime.ToLower() == p.VIme.ToLower()) { foreach (int id in k.VoznjeIDs) { ids.Add(id); } } } } else if (p.VPrezime != null) { foreach (Vozac k in Podaci.GetVozace().Values) { if (k.Prezime.ToLower() == p.VPrezime.ToLower()) { foreach (int id in k.VoznjeIDs) { ids.Add(id); } } } } foreach (int id in ids) { result.Add(Podaci.GetSveVoznje()[id]); } if (result.Count > 0) { return(Ok(result)); } else { return(Ok("Nema rezultata!")); } }
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 GetKomentar([FromUri] int voznja) { Komentar k = Podaci.GetSveVoznje()[voznja].Komentar; return(Ok(k)); }