private async void btnPretrazi_Click(object sender, EventArgs e) { try { var search = new LinijaSearchRequest() { OdredisteId = int.Parse(cmbOdrediste.SelectedValue.ToString()), PolazisteId = int.Parse(cmbPolaziste.SelectedValue.ToString()), }; var lista = await _linije.Get <List <Model.Linija> >(search); dgvLinije.DataSource = lista; } catch (Exception ex) { MessageBox.Show(ex.Message, "Linija", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public async Task <IActionResult> PretraziLinije(string polaziste, string odrediste, DateTime datum) // LinijeVM podaci { var privremenaLinija = new List <LinijaPodaci>(); var model = new LinijeVM(); model.PrikaziLinije = new List <LinijaPodaci>(); model.ListaGradova = new List <Grad>(); model.DatumPretrage = datum; //podaci.DatumPretrage; var searchLinije = new LinijaSearchRequest() { PoNazivu = true, NazivOdredista = odrediste, //podaci.Odrediste, NazivPolazista = polaziste //podaci.Polaziste }; var resLinije = await _linijeService.Get(searchLinije); if (resLinije.IsSuccessStatusCode) { var result = resLinije.Content.ReadAsStringAsync().Result; var linije = JsonConvert.DeserializeObject <List <Model.Linija> >(result); var searchKarta = new KartaSearchRequest() { PoAngzuje = false, PoVozilu = false, PoVremenu = false, DatumIzdavanja = datum //podaci.DatumPretrage }; var resKarta = await _kartaService.Get(searchKarta); if (resKarta.IsSuccessStatusCode) { var resultK = resKarta.Content.ReadAsStringAsync().Result; var karte = JsonConvert.DeserializeObject <List <Model.Karta> >(resultK); //var karte = await vratiKartePoDatumu(datum); //List<Model.Karta> karte = await vratiKartePoDatumu(podaci.DatumPretrage); Dictionary <TimeSpan, int> linijeZaPrikazat = new Dictionary <TimeSpan, int>(); foreach (var item in linije) { foreach (var karta in karte) { if (item.Id == karta.Angazuje.LinijaId) { if (!linijeZaPrikazat.ContainsKey(karta.VrijemePolaska)) { var searchCijena = new CijenaSearchRequest() { KompanijaID = karta.Sjediste.Vozilo.KompanijaId, LinijaID = item.Id }; var resCijena = await _cijenaService.Get(searchCijena); if (resCijena.IsSuccessStatusCode) { var resultC = resCijena.Content.ReadAsStringAsync().Result; var cijena = JsonConvert.DeserializeObject <List <Model.Cijena> >(resultC); var linijaPodaci = new LinijaPodaci() { AngazujeID = karta.AngazujeId, Cijena = cijena[0].Iznos, DatumPretrage = datum, //podaci.DatumPretrage, VoziloID = karta.Sjediste.VoziloId.Value, Kompanija = karta.Sjediste.Vozilo.Kompanija.Naziv, OdredisteNaziv = odrediste, //podaci.Odrediste, PolazisteNaziv = polaziste, //podaci.Polaziste, VrijemePolaska = karta.VrijemePolaska, kartaID = karta.Id }; model.PrikaziLinije.Add(linijaPodaci); } linijeZaPrikazat.Add(karta.VrijemePolaska, karta.AngazujeId); } } } } } } // return View( model); return(PartialView(model)); }
public async Task Init() { try { List <Model.Angazuje> listaAngazuje = null; // pretraga angazovanih po TRAZENOM datumu var serchAn = new AngazujeSearchRequest() { Datum = Datum.Date, ZaLiniju = true }; listaAngazuje = await _angazujeService.Get <List <Angazuje> >(serchAn); // pretraga linija po TRAZENOM odredistu i polazistu var search = new LinijaSearchRequest() { NazivOdredista = Odrediste, NazivPolazista = Polaziste, PoNazivu = true, Datum = Datum }; var listaLinija = await _linijeService.Get <List <Linija> >(search); LinijaPodaciList.Clear(); TestniPodaci.Clear(); foreach (var item in listaAngazuje) { var searchKarta = new KartaSearchRequest() { PoAngzuje = true, AngazujeID = item.Id, PoDatumu = true, PoVozilu = false, DatumIzdavanja = Datum.Date, PoVremenu = false // dodao }; var listaKarat = await _kartaService.Get <List <Karta> >(searchKarta); foreach (var item2 in listaLinija) { // poredi se linija iz angazuje sa linijom if (item.LinijaId == item2.Id) { var gradP = await _gradService.GetById <Grad>(item.Linija.PolazisteId); var gradO = await _gradService.GetById <Grad>(item.Linija.OdredisteId); var kompanija = await _kompanijaService.GetById <Kompanija>(item.Vozilo.KompanijaId.Value); var searchCijena = new CijenaSearchRequest() { LinijaID = item.LinijaId, KompanijaID = kompanija.Id }; var cijena = await _cijenaService.Get <List <Cijena> >(searchCijena); if (listaKarat.Count != 0) { // dodajemo podatke o liniji TestniPodaci.Add(new LinijaPodaci() { OdredisteNaziv = gradO.Naziv, PolazisteNaziv = gradP.Naziv, Cijena = cijena.Count == 0 ? 0 : cijena[0].Iznos, Kompanija = kompanija.Naziv, AngazujeID = item.Id, VoziloID = item.VoziloId, DatumPretrage = Datum, VrijemePolaska = listaKarat[0].VrijemePolaska }); } } } } // pretraga karata po TRAZENOM datumu var searchK = new KartaSearchRequest() { PoAngzuje = false, PoDatumu = true, PoVozilu = false, DatumIzdavanja = Datum.Date, PoVremenu = false }; var listaKarata = await _kartaService.Get <List <Karta> >(searchK); int brojacDodanihKarata = 0; Dictionary <TimeSpan, int> PregledDodanihLinija = new Dictionary <TimeSpan, int>(); foreach (var item in listaKarata) { foreach (var item2 in TestniPodaci.ToList()) { // trazim linije koje nisu dodane u prvoj iteraciji if (item.VrijemePolaska != item2.VrijemePolaska && item.AngazujeId == item2.AngazujeID /* && item.Sjediste.Red == 1 && item.Sjediste.Kolona == 1*/) { var gradP = await _gradService.GetById <Grad>(item.Angazuje.Linija.PolazisteId); var gradO = await _gradService.GetById <Grad>(item.Angazuje.Linija.OdredisteId); var kompanija = await _kompanijaService.GetById <Kompanija>(item.Angazuje.Vozilo.KompanijaId.Value); var searchCijena = new CijenaSearchRequest() { LinijaID = item.Angazuje.LinijaId, KompanijaID = kompanija.Id }; var cijena = await _cijenaService.Get <List <Cijena> >(searchCijena); if (!PregledDodanihLinija.ContainsKey(item.VrijemePolaska)) { PregledDodanihLinija.Add(item.VrijemePolaska, 1); TestniPodaci.Add(new LinijaPodaci() { OdredisteNaziv = gradO.Naziv, PolazisteNaziv = gradP.Naziv, Cijena = cijena.Count == 0 ? 0 : cijena[0].Iznos, Kompanija = kompanija.Naziv, AngazujeID = item.AngazujeId, VoziloID = item.Angazuje.VoziloId, DatumPretrage = Datum, VrijemePolaska = item.VrijemePolaska }); } } } } // prebacujem u listu koja se prikazuje foreach (var item in TestniPodaci.ToList()) { LinijaPodaciList.Add(item); } } catch (Exception) { throw; } }