private async void frmCijena_Load(object sender, EventArgs e) { if (_id.HasValue) { var linija = await _linije.GetById <Model.Linija>(_id.Value); txtNazivLinije.Text = linija.Naziv; } var search = new CijenaSearchRequest() { LinijaID = _id.Value }; var lista = await _cijene.Get <List <Model.Cijena> >(search); var newlista = new List <object>(); foreach (var item in lista) { string cijena = null; if (item.Iznos > 0) { cijena = item.Iznos.ToString() + " KM"; } newlista.Add(new { Iznos = cijena, Popust = item.Popust, Kompanija = item.Kompanija }); } dgvCijena.DataSource = newlista; }
public async Task <IActionResult> Detalji(int id) { LinijeDetaljiVM model = new LinijeDetaljiVM(); var resKarta = await _kartaService.GetById(id); if (resKarta.IsSuccessStatusCode) { var result = resKarta.Content.ReadAsStringAsync().Result; var karta = JsonConvert.DeserializeObject <Model.Karta>(result); var resLinija = await _linijeService.GetById(karta.Angazuje.LinijaId); if (resLinija.IsSuccessStatusCode) { var resultL = resLinija.Content.ReadAsStringAsync().Result; var linija = JsonConvert.DeserializeObject <Model.Linija>(resultL); var searchCijena = new CijenaSearchRequest() { KompanijaID = karta.Sjediste.Vozilo.KompanijaId, LinijaID = karta.Angazuje.LinijaId }; var resCijena = await _cijenaService.Get(searchCijena); if (resCijena.IsSuccessStatusCode) { var resultC = resCijena.Content.ReadAsStringAsync().Result; var cijena = JsonConvert.DeserializeObject <List <Model.Cijena> >(resultC); model.Cijena = cijena[0].Iznos; model.DatumPretrage = karta.DatumIzdavanja; model.VrijemeDolaska = karta.VrijemeDolaska; model.VrijemePolaska = karta.VrijemePolaska; model.Vozilo = karta.Sjediste.Vozilo.Model; model.voziloId = karta.Sjediste.VoziloId.Value; model.Kompanija = karta.Sjediste.Vozilo.Kompanija.Naziv; model.PolazisteNaziv = linija == null ? "Nema polaziste" : linija.Polaziste.Naziv; model.OdredisteNaziv = linija == null ? "Nema odrediste" : linija.Odrediste.Naziv; } } } return(View(model)); }
private async Task LoadIzvjestaj() { var search = new RezervacijaSearchRequest() { PoAngazmanu = false, PutnikId = _id.Value }; var listaRezervacija = await _rezervacijeService.Get <List <Model.Rezervacija> >(search); ReportParameterCollection rpc = new ReportParameterCollection(); List <object> lista = new List <object>(); DSkarta.DataTable1DataTable tbl = new DSkarta.DataTable1DataTable(); tbl.Rows.Clear(); redova = 0; decimal ukupno = 0; foreach (var item in listaRezervacija) { DSkarta.DataTable1Row red = tbl.NewDataTable1Row(); var a = await _angazujeService.GetById <Model.Angazuje>(item.Karta.AngazujeId); var searchCijena = new CijenaSearchRequest() { LinijaID = a.LinijaId, KompanijaID = a.Vozilo.KompanijaId }; var listaCijena = await _cijenaService.Get <List <Model.Cijena> >(searchCijena); var v = await _voziloService.GetById <Model.Vozilo>(a.VoziloId); var l = await _linijeService.GetById <Model.Linija>(a.LinijaId); //lista.Add(new //{ // BrojKarte = item.Karta.BrojKarte, // DatumIzdavanja = item.Karta.DatumIzdavanja, // Vozilo = v.Model, // Linija = l.Naziv, // Cijena = c == null ? 0 : c.Iznos, //}); red.BrojKarte = item.Karta.BrojKarte; red.DatumIzdavanja = item.Karta.DatumIzdavanja; red.Vozilo = v.Model; red.Linija = l.Naziv; red.Cijena = listaCijena.Count == 0 ? 0 : listaCijena[0].Iznos; red.Kompanija = listaCijena.Count == 0 ? "N/N" : listaCijena[0].Kompanija.Naziv; tbl.Rows.Add(red); redova++; ukupno += listaCijena.Count == 0 ? 0 : listaCijena[0].Iznos; } rpc.Add(new ReportParameter("Ukupno", ukupno.ToString())); rpc.Add(new ReportParameter("DatumKreiranja", DateTime.Now.ToString("dd.MM.yyyy"))); ReportDataSource rds = new ReportDataSource(); rds.Name = "Karta"; rds.Value = tbl; reportViewer1.LocalReport.SetParameters(rpc); reportViewer1.LocalReport.DataSources.Add(rds); this.reportViewer1.RefreshReport(); }
private async Task LoadIzvjestaje(int?kompanijaId = null) { var listaRezervacija = await _rezervacijaService.Get <List <Model.Rezervacija> >(null); var listaKarata = listaRezervacija.Where(l => l.Otkazana == false).Select(x => x.Karta).Cast <Model.Karta>().ToList(); var listaPutnika = listaRezervacija.Where(l => l.Otkazana == false).Select(x => x.Putnik).Cast <Model.Putnik>().ToList(); int brojac = 0; foreach (var item in listaKarata) { var ang = await _angazujeService.GetById <Model.Angazuje>(item.AngazujeId); var searchCijena = new CijenaSearchRequest() { LinijaID = ang.LinijaId, KompanijaID = ang.Vozilo.KompanijaId }; var listaCijena = await _cijenaService.Get <List <Model.Cijena> >(searchCijena); var v = await _voziloService.GetById <Model.Vozilo>(ang.VoziloId); var l = await _linijeService.GetById <Model.Linija>(ang.LinijaId); Model.Kompanija k = null; var request = new IzvjestajRelacija(); decimal zbir = 0; if (kompanijaId.HasValue) { if (v.KompanijaId == kompanijaId.Value) { k = await _kompanijeService.GetById <Model.Kompanija>(kompanijaId.Value); } } else { k = await _kompanijeService.GetById <Model.Kompanija>(ang.Vozilo.KompanijaId.Value); } if (k != null) { request.BrojKarte = item.BrojKarte; request.DatumIzdavanja = item.DatumIzdavanja.ToString("dd.MM.yyyy"); request.Kompanija = k.Naziv; request.Linija = l.Naziv; request.Vozilo = v.Model; if (DateTime.Now.Date.Year - listaPutnika[brojac].DatumRodjenja.Value.Date.Year > 50) { zbir += listaCijena[0].Popust == 0 ? listaCijena[0].Iznos : listaCijena[0].Iznos - (listaCijena[0].Iznos * decimal.Parse(listaCijena[0].Popust.ToString())); } else { zbir += listaCijena[0].Iznos; } request.Cijena = zbir.ToString(); GlavnaLista.Add(request); ukupno += zbir; brojac++; } } dgvPodaci.DataSource = GlavnaLista; txtUkupno.Text = Math.Round(ukupno, 2).ToString(); }
public async Task Init() { var listaRzervacije = await _rezervacije.Get <List <Rezervacija> >(null); decimal UkupnoSve = 0; Dictionary <string, int> putnici = new Dictionary <string, int>(); foreach (var item in listaRzervacije) { if (!putnici.ContainsKey(item.Putnik.Ime)) { putnici.Add(item.Putnik.Ime, 1); } } if (_IzborKompanije == null) { await Application.Current.MainPage.DisplayAlert(" ", "Niste odabrali kompaniju", "OK"); } else { foreach (var item2 in putnici.ToList()) { int brojacKarate = 0; foreach (var item in listaRzervacije) { var angazuje = await _angazuje.GetById <Angazuje>(item.Karta.AngazujeId); var linija = await _linijeService.GetById <Linija>(angazuje.LinijaId); var sjediste = await _sjedisteService.GetById <Sjediste>(item.Karta.SjedisteId); var vozilo = await _voziloService.GetById <Vozilo>(sjediste.VoziloId.Value); var kompanija = await _kompanijaService.GetById <Kompanija>(vozilo.KompanijaId.Value); var odr = await _gradService.GetById <Grad>(linija.OdredisteId); var pol = await _gradService.GetById <Grad>(linija.PolazisteId); if (odr.Naziv == _odrediste && pol.Naziv == _polaziste && kompanija.Id == IzborKompanije.Id) { if (item2.Key == item.Putnik.Ime) { brojacKarate++; var cijenaSearch = new CijenaSearchRequest() { KompanijaID = kompanija.Id, LinijaID = linija.Id }; var listaCijena = await _cijenaService.Get <List <Cijena> >(cijenaSearch); UkupnaCijena += listaCijena[0].Iznos; } } } Podaci.Add(new Pretraga() { BrojKarata = brojacKarate, Ukupno = UkupnaCijena, ImeKorisnika = item2.Key }); _prvaVrijednost += UkupnaCijena; } } }
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; } }