Exemple #1
0
        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"));
            }
        }
Exemple #3
0
        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!"));
            }
        }
Exemple #4
0
        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());
        }
Exemple #5
0
        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"));
            }
        }