Beispiel #1
0
        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));
        }
Beispiel #2
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"));
            }
        }
Beispiel #3
0
        public IHttpActionResult GetSlobodneV()
        {
            List <Voznja> result = new List <Voznja>();

            foreach (int id in Podaci.GetSlobodneVoznje())
            {
                result.Add(Podaci.GetSveVoznje()[id]);
            }
            return(Ok(result));
        }
Beispiel #4
0
        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));
        }
Beispiel #5
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());
        }
Beispiel #6
0
        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!"));
            }
        }
Beispiel #7
0
        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));
        }
Beispiel #8
0
        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"));
            }
        }