// 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); }
// 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); }
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); }