public Voznja(int id, string lokacija, double iznos, string vozac = "-1", TipoviAutomobila tipAutomobila = TipoviAutomobila.PutnickiAutomobil, string musterija = "-1", string dispecer = "-1", int komentar = -1, StatusiVoznje statusVoznje = StatusiVoznje.Kreirana_NaCekanju)
 {
     this.id            = id;
     this.datumIVreme   = DateTime.Now;
     this.lokacijaID    = lokacija;
     this.tipAutomobila = tipAutomobila;
     this.musterijaID   = musterija;
     this.odredisteID   = null;
     this.dispecerID    = dispecer;
     this.vozacID       = vozac;
     this.iznos         = iznos;
     this.komentarID    = komentar;
     this.statusVoznje  = StatusVoznje;
 }
示例#2
0
        // GET: api/Voznje/flag/datum/ocena/odDatum/doDatum/odOcena/doOcena/odCena/doCena
        public List <GetKorisnikVoznjaBindingModel> GetM(int flagg, string datum, string ocena, DateTime odDatum, DateTime doDatum, int odOcena, int doOcena, int odCena, int doCena)
        {
            List <GetKorisnikVoznjaBindingModel> lista = new List <GetKorisnikVoznjaBindingModel>();

            //voznje.Add(new Voznja());

            if (DataBase.lokacije.Count > 1)
            {
                foreach (int vv in DataBase.Korisnici[User.Identity.Name].VoznjeID)
                {
                    string polazisteID = DataBase.lokacije[DataBase.voznje[vv].LokacijaID].AdresaID;

                    string odredisteID = "Nedefinisano";
                    if (DataBase.voznje[vv].OdredisteID != "-1")
                    {
                        odredisteID = DataBase.adrese[DataBase.lokacije[DataBase.voznje[vv].OdredisteID].AdresaID].ToBindingString();
                    }

                    int    komentarID  = DataBase.voznje[vv].KomentarID;
                    string brojtaksija = "";
                    string vozacID     = DataBase.voznje[vv].VozacID;
                    string automobilID = "Nedefinisano";
                    if (vozacID != "-1")
                    {
                        automobilID = ((Vozac)DataBase.Korisnici[vozacID]).AutomobilID.ToString();
                    }

                    if (vozacID == "-1")
                    {
                        brojtaksija = "Nedefinisano";
                    }
                    else
                    {
                        brojtaksija = DataBase.automobili[int.Parse(automobilID)].BrojTaksiVozila.ToString();
                    }
                    string ocenaa = DataBase.komentari[komentarID].Ocena.ToString();
                    if (ocenaa == "Nula")
                    {
                        ocenaa = "Nedefinisano";
                    }


                    GetKorisnikVoznjaBindingModel v = new GetKorisnikVoznjaBindingModel()
                    {
                        VoznjaID      = vv.ToString(),
                        Polaziste     = DataBase.adrese[polazisteID].ToBindingString(),
                        Odrediste     = odredisteID,
                        Ocena         = ocenaa,
                        TipAutomobila = DataBase.voznje[vv].TipAutomobila.ToString(),
                        DatumIVreme   = DataBase.voznje[vv].DatumIVreme.ToString(),
                        StatusVoznje  = DataBase.voznje[vv].StatusVoznje.ToString(),
                        BrojTaksija   = brojtaksija
                    };
                    lista.Add(v);
                }
            }

            if (flagg == -1)
            {
            }
            else
            {
                StatusiVoznje s = (StatusiVoznje)flagg;
                List <GetKorisnikVoznjaBindingModel> l = new List <GetKorisnikVoznjaBindingModel>();

                foreach (var item in lista)
                {
                    if (s.ToString() == item.StatusVoznje)
                    {
                        l.Add(item);
                    }
                }

                lista = l;
            }

            List <GetKorisnikVoznjaBindingModel> pom2 = new List <GetKorisnikVoznjaBindingModel>();

            lista.ForEach(x => pom2.Add(x));
            for (int i = 0; i < lista.Count; i++)
            {
                if (DateTime.Parse(lista[i].DatumIVreme) < odDatum || DateTime.Parse(lista[i].DatumIVreme) > doDatum)
                {
                    try
                    {
                        pom2.Remove(lista[i]);
                    }
                    catch { }
                }
            }

            if (odCena == 0)
            {
                odCena = -1;
            }
            for (int i = 0; i < lista.Count; i++)
            {
                if ((int)DataBase.komentari[DataBase.voznje[int.Parse(lista[i].VoznjaID)].KomentarID].Ocena <odOcena || (int)DataBase.komentari[DataBase.voznje[int.Parse(lista[i].VoznjaID)].KomentarID].Ocena> doOcena)
                {
                    try
                    {
                        pom2.Remove(lista[i]);
                    }
                    catch { }
                }
            }

            for (int i = 0; i < lista.Count; i++)
            {
                if (DataBase.voznje[int.Parse(lista[i].VoznjaID)].Iznos <odCena || DataBase.voznje[int.Parse(lista[i].VoznjaID)].Iznos> doCena)
                {
                    try
                    {
                        pom2.Remove(lista[i]);
                    }
                    catch { }
                }
            }
            if (datum == "datum" && ocena == "ocena")
            {
                pom2 = pom2.OrderByDescending(z => Enum.Parse(typeof(Ocene), z.Ocena)).ThenByDescending(x => DateTime.Parse(x.DatumIVreme)).ToList();
            }
            else if (datum == "datum")
            {
                pom2 = pom2.OrderByDescending(x => DateTime.Parse(x.DatumIVreme)).ToList();
            }
            else if (ocena == "ocena")
            {
                pom2 = pom2.OrderByDescending(z => Enum.Parse(typeof(Ocene), z.Ocena)).ToList();
            }

            return(pom2);
        }
示例#3
0
        // GET: api/Voznje/flag/statusVoznje/datum/ocena/odDatum/doDatum/odOcena/doOcena/odCena/doCena/vIme/vPrezime/mIme/mPrezime
        public List <GetDispecerVoznjaBindingModel> GetD(int flag, int statusVoznje, string datum, string ocena, DateTime odDatum, DateTime doDatum, int odOcena, int doOcena, int odCena, int doCena, string mIme, string mPrezime, string vIme, string vPrezime)
        {
            List <GetDispecerVoznjaBindingModel> lista = new List <GetDispecerVoznjaBindingModel>();
            List <GetDispecerVoznjaBindingModel> l     = new List <GetDispecerVoznjaBindingModel>();
            GetDispecerVoznjaBindingModel        model;

            foreach (KeyValuePair <int, Voznja> voznja in DataBase.voznje)
            {
                if (voznja.Key != -1)
                {
                    model               = new GetDispecerVoznjaBindingModel();
                    model.VoznjaID      = voznja.Key.ToString();
                    model.TipAutomobila = voznja.Value.TipAutomobila.ToString();
                    model.DatumIVreme   = voznja.Value.DatumIVreme.ToString();
                    if (DataBase.komentari[voznja.Value.KomentarID].Ocena == Ocene.Nula)
                    {
                        model.Ocena = "Nedefinisano";
                    }
                    else
                    {
                        model.Ocena = DataBase.komentari[voznja.Value.KomentarID].Ocena.ToString();
                    }
                    model.Polaziste    = DataBase.adrese[DataBase.lokacije[voznja.Value.LokacijaID].AdresaID].ToBindingString();
                    model.StatusVoznje = voznja.Value.StatusVoznje.ToString();
                    if (voznja.Value.VozacID == "-1")
                    {
                        model.Vozac       = "Nedefinisano";
                        model.BrojTaksija = "Nedefinisano";
                        model.Odrediste   = "Nedefinisano";
                    }
                    else
                    {
                        model.Vozac       = voznja.Value.VozacID;
                        model.BrojTaksija = DataBase.automobili[((Vozac)DataBase.Korisnici[voznja.Value.VozacID]).AutomobilID].BrojTaksiVozila.ToString();
                        if (DataBase.adrese[DataBase.lokacije[voznja.Value.OdredisteID].AdresaID].Id == "-1")
                        {
                            model.Odrediste = "Nedefinisano";
                        }
                        else
                        {
                            model.Odrediste = DataBase.adrese[DataBase.lokacije[voznja.Value.OdredisteID].AdresaID].ToBindingString();
                        }
                    }
                    if (voznja.Value.MusterijaID != "-1")
                    {
                        model.Musterija = DataBase.Korisnici[voznja.Value.MusterijaID].KorisnickoIme;
                    }
                    else
                    {
                        model.Musterija = "Nedefinisano";
                    }

                    if (voznja.Value.DispecerID != "-1")
                    {
                        model.Dispecer = DataBase.Korisnici[voznja.Value.DispecerID].KorisnickoIme;
                    }
                    else
                    {
                        model.Dispecer = "Nedefinisano";
                    }

                    lista.Add(model);
                }
            }

            if (flag == 1)
            {
            }
            else
            {
                List <GetDispecerVoznjaBindingModel> pom = new List <GetDispecerVoznjaBindingModel>();
                for (int i = 0; i < lista.Count; i++)
                {
                    if (lista[i].Dispecer == User.Identity.Name)
                    {
                        pom.Add(lista[i]);
                    }
                }

                lista = pom;
            }

            List <GetDispecerVoznjaBindingModel> pom2 = new List <GetDispecerVoznjaBindingModel>();

            lista.ForEach(x => pom2.Add(x));
            for (int i = 0; i < lista.Count; i++)
            {
                if (DateTime.Parse(lista[i].DatumIVreme) < odDatum || DateTime.Parse(lista[i].DatumIVreme) > doDatum)
                {
                    try
                    {
                        pom2.Remove(lista[i]);
                    }
                    catch { }
                }
            }

            if (odCena == 0)
            {
                odCena = -1;
            }
            for (int i = 0; i < lista.Count; i++)
            {
                if ((int)DataBase.komentari[DataBase.voznje[int.Parse(lista[i].VoznjaID)].KomentarID].Ocena <odOcena || (int)DataBase.komentari[DataBase.voznje[int.Parse(lista[i].VoznjaID)].KomentarID].Ocena> doOcena)
                {
                    try
                    {
                        pom2.Remove(lista[i]);
                    }
                    catch { }
                }
            }

            for (int i = 0; i < lista.Count; i++)
            {
                if (DataBase.voznje[int.Parse(lista[i].VoznjaID)].Iznos <odCena || DataBase.voznje[int.Parse(lista[i].VoznjaID)].Iznos> doCena)
                {
                    try
                    {
                        pom2.Remove(lista[i]);
                    }
                    catch { }
                }
            }
            Korisnik musterija = null;
            Korisnik vozac     = null;

            try
            {
                musterija = DataBase.Korisnici.Values.ToList().Find(x => x.Ime.ToLower() == mIme.ToLower() && x.Prezime.ToLower() == mPrezime.ToLower());
            }
            catch { }
            try
            {
                vozac = DataBase.Korisnici.Values.ToList().Find(x => x.Ime.ToLower() == vIme.ToLower() && x.Prezime.ToLower() == vPrezime.ToLower());
            }
            catch { }
            if (musterija != null)
            {
                pom2 = pom2.FindAll(x => x.Musterija == musterija.KorisnickoIme);
            }

            if (vozac != null)
            {
                pom2 = pom2.FindAll(x => x.Vozac == vozac.KorisnickoIme);
            }


            if (statusVoznje == -1)
            {
                pom2.ForEach(x => l.Add(x));
            }
            else
            {
                StatusiVoznje s = (StatusiVoznje)statusVoznje;


                foreach (var item in pom2)
                {
                    if (s.ToString() == item.StatusVoznje)
                    {
                        l.Add(item);
                    }
                }
            }

            if (datum == "datum" && ocena == "ocena")
            {
                l = l.OrderByDescending(z => Enum.Parse(typeof(Ocene), z.Ocena)).ThenByDescending(x => DateTime.Parse(x.DatumIVreme)).ToList();
            }
            else if (datum == "datum")
            {
                l = l.OrderByDescending(x => DateTime.Parse(x.DatumIVreme)).ToList();
            }
            else if (ocena == "ocena")
            {
                l = l.OrderByDescending(z => Enum.Parse(typeof(Ocene), z.Ocena)).ToList();
            }
            return(l);
        }
示例#4
0
        public List <VozacVoznjaBindingModel> GetV(int flaggg, int statusVoznje, string datum, string ocena, DateTime odDatum, DateTime doDatum, int odOcena, int doOcena, int odCena, int doCena)
        {
            List <VozacVoznjaBindingModel> l     = new List <VozacVoznjaBindingModel>();
            List <VozacVoznjaBindingModel> pom2  = new List <VozacVoznjaBindingModel>();
            List <VozacVoznjaBindingModel> lista = new List <VozacVoznjaBindingModel>();

            if (flaggg == 1)
            {
                if (DataBase.lokacije.Count > 1)
                {
                    foreach (int vv in DataBase.Korisnici[User.Identity.Name].VoznjeID)
                    {
                        string polazisteID = DataBase.lokacije[DataBase.voznje[vv].LokacijaID].AdresaID;
                        string korisnikID;
                        if (DataBase.voznje[vv].MusterijaID != "-1")
                        {
                            korisnikID = DataBase.voznje[vv].MusterijaID;
                        }
                        else
                        {
                            korisnikID = "Nedefinisano";
                        }

                        string dispecerID;
                        if (DataBase.voznje[vv].DispecerID != "-1")
                        {
                            dispecerID = DataBase.voznje[vv].DispecerID;
                        }
                        else
                        {
                            dispecerID = "Nedefinisano";
                        }

                        string odredisteID = "Nedefinisano";
                        if (DataBase.voznje[vv].OdredisteID != "-1")
                        {
                            odredisteID = DataBase.adrese[DataBase.lokacije[DataBase.voznje[vv].OdredisteID].AdresaID].ToBindingString();
                        }

                        int komentarID = DataBase.voznje[vv].KomentarID;

                        string ocenaa = DataBase.komentari[komentarID].Ocena.ToString();
                        if (ocenaa == "Nula")
                        {
                            ocenaa = "Nedefinisano";
                        }
                        string iznos;
                        if (DataBase.voznje[vv].Iznos == -1)
                        {
                            iznos = "Nedefinisano";
                        }
                        else
                        {
                            iznos = DataBase.voznje[vv].Iznos.ToString();
                        }

                        VozacVoznjaBindingModel v = new VozacVoznjaBindingModel()
                        {
                            VoznjaID     = vv.ToString(),
                            Polaziste    = DataBase.adrese[polazisteID].ToBindingString(),
                            Odrediste    = odredisteID,
                            Ocena        = ocenaa,
                            KorisnikID   = korisnikID,
                            DispecerID   = dispecerID,
                            DatumIVreme  = DataBase.voznje[vv].DatumIVreme.ToString(),
                            StatusVoznje = DataBase.voznje[vv].StatusVoznje.ToString(),
                            Iznos        = iznos
                        };
                        lista.Add(v);
                    }
                }
            }
            else if (flaggg == -1)
            {
                foreach (KeyValuePair <int, Voznja> vv in DataBase.voznje)
                {
                    if (vv.Value.StatusVoznje == StatusiVoznje.Kreirana_NaCekanju &&
                        vv.Value.Id != -1 &&
                        vv.Value.TipAutomobila == DataBase.automobili[((Vozac)DataBase.Korisnici[User.Identity.Name]).AutomobilID].TipAutomobila)
                    {
                        VozacVoznjaBindingModel v = new VozacVoznjaBindingModel()
                        {
                            VoznjaID     = vv.Key.ToString(),
                            Polaziste    = DataBase.adrese[vv.Value.LokacijaID].ToBindingString(),
                            Odrediste    = "Nedefinisano",
                            Ocena        = "Nedefinisano",
                            KorisnikID   = DataBase.Korisnici[DataBase.voznje[vv.Key].MusterijaID].KorisnickoIme,
                            DispecerID   = "Nepoznato",
                            DatumIVreme  = DataBase.voznje[vv.Key].DatumIVreme.ToString(),
                            StatusVoznje = DataBase.voznje[vv.Key].StatusVoznje.ToString(),
                            Iznos        = "Nepoznato"
                        };

                        lista.Add(v);
                    }
                }
            }
            if (lista.Count == 0)
            {
                lista.Add(new VozacVoznjaBindingModel());
                pom2 = lista;
            }
            else
            {
                lista.ForEach(x => pom2.Add(x));
                for (int i = 0; i < lista.Count; i++)
                {
                    if (DateTime.Parse(lista[i].DatumIVreme) < odDatum || DateTime.Parse(lista[i].DatumIVreme) > doDatum)
                    {
                        try
                        {
                            pom2.Remove(lista[i]);
                        }
                        catch { }
                    }
                }

                if (odCena == 0)
                {
                    odCena = -1;
                }
                for (int i = 0; i < lista.Count; i++)
                {
                    if ((int)DataBase.komentari[DataBase.voznje[int.Parse(lista[i].VoznjaID)].KomentarID].Ocena <odOcena || (int)DataBase.komentari[DataBase.voznje[int.Parse(lista[i].VoznjaID)].KomentarID].Ocena> doOcena)
                    {
                        try
                        {
                            pom2.Remove(lista[i]);
                        }
                        catch { }
                    }
                }

                for (int i = 0; i < lista.Count; i++)
                {
                    if (DataBase.voznje[int.Parse(lista[i].VoznjaID)].Iznos <odCena || DataBase.voznje[int.Parse(lista[i].VoznjaID)].Iznos> doCena)
                    {
                        try
                        {
                            pom2.Remove(lista[i]);
                        }
                        catch { }
                    }
                }

                if (statusVoznje == -1)
                {
                    pom2.ForEach(x => l.Add(x));
                }
                else
                {
                    StatusiVoznje s = (StatusiVoznje)statusVoznje;


                    foreach (var item in pom2)
                    {
                        if (s.ToString() == item.StatusVoznje)
                        {
                            l.Add(item);
                        }
                    }
                }

                if (datum == "datum" && ocena == "ocena")
                {
                    l = l.OrderByDescending(z => Enum.Parse(typeof(Ocene), z.Ocena)).ThenByDescending(x => DateTime.Parse(x.DatumIVreme)).ToList();
                }
                else if (datum == "datum")
                {
                    l = l.OrderByDescending(x => DateTime.Parse(x.DatumIVreme)).ToList();
                }
                else if (ocena == "ocena")
                {
                    l = l.OrderByDescending(z => Enum.Parse(typeof(Ocene), z.Ocena)).ToList();
                }
                else if (flaggg == -1)
                {
                    for (int i = 0; i < l.Count - 1; i++)
                    {
                        for (int j = i + 1; j < l.Count; j++)
                        {
                            Lokacija ll          = DataBase.lokacije[((Vozac)DataBase.Korisnici[User.Identity.Name]).LokacijaID];
                            Lokacija l1          = DataBase.lokacije[DataBase.voznje[int.Parse(l[i].VoznjaID)].LokacijaID];
                            double   razdaljina1 = Math.Sqrt(Math.Pow((ll.XKoordinata - l1.XKoordinata), 2) + Math.Pow((ll.YKoordinata - l1.YKoordinata), 2));
                            Lokacija l2          = DataBase.lokacije[DataBase.voznje[int.Parse(l[j].VoznjaID)].LokacijaID];
                            double   razdaljina2 = Math.Sqrt(Math.Pow((ll.XKoordinata - l2.XKoordinata), 2) + Math.Pow((ll.YKoordinata - l2.YKoordinata), 2));
                            if (razdaljina1 > razdaljina2)
                            {
                                VozacVoznjaBindingModel temp = l[i];
                                l[i] = l[j];
                                l[j] = temp;
                            }
                        }
                    }
                }
            }
            if (l.Count == 0)
            {
                l.Add(new VozacVoznjaBindingModel());
            }
            if (DataBase.voznje.Values.ToList().FindAll(x => (x.VozacID == User.Identity.Name) && (x.StatusVoznje == StatusiVoznje.Obradjena || x.StatusVoznje == StatusiVoznje.Prihvacena || x.StatusVoznje == StatusiVoznje.Formirana)).Count > 0)
            {
                l[0].Flag = 1;
            }
            else
            {
                l[0].Flag = -1;
            }

            return(l);
        }