Example #1
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"));
            }
        }