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 RegistracijaVozaca(Vozac vozac) { if (vozac.Email != null && vozac.Ime != null && vozac.JMBG != null && vozac.KorisnickoIme != null && vozac.Lozinka != null && vozac.Prezime != null && vozac.Telefon != null && vozac.Pol.ToString() != null) { if (Podaci.GetKorisnike().ContainsKey(vozac.KorisnickoIme)) { return(Ok("Korisnicko ime vec postoji")); } else if (Podaci.GetVozace().ContainsKey(vozac.KorisnickoIme)) { return(Ok("Korisnicko ime vec postoji")); } else if (Podaci.GetDispecere().ContainsKey(vozac.KorisnickoIme)) { return(Ok("Korisnicko ime vec postoji")); } else { voz = new Vozac(); voz = vozac; voz.Slobodan = true; voz.Blokiran = false; voz.Uloga = ULOGA.Vozac; Podaci.DodajVozac(voz, voz.KorisnickoIme); Podaci.GetSlobodneVozace().Add(voz.KorisnickoIme); return(Ok()); } } else { return(Ok("null")); } }
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 IHttpActionResult ZavrsiVoznju([FromUri] AdrILok a) { if (a.Status.ToString() != null) { Podaci.GetSlobodneVozace().Add(a.KorisnickoIme); Voznja v = new Voznja(); v.Vozac = Podaci.GetVozace()[a.KorisnickoIme]; if (a.Status.Contains("Neus")) { v.StatusVoznje = STATUS_VOZNJE.Neuspesna; } else { v.StatusVoznje = STATUS_VOZNJE.Uspesna; if (a.Cena < 0) { return(Ok("cena")); } } v.Iznos = a.Cena; if (v.StatusVoznje == STATUS_VOZNJE.Neuspesna) { v.Iznos = 0; v.LokacijaOdredista = null; } Podaci.IzmeniVoznju(a.IDVoznje, v); Vozac vozac = new Vozac(); vozac.Slobodan = true; Podaci.IzmeniVozaca(a.KorisnickoIme, vozac); return(Ok()); } else { return(Ok("status")); } }