Esempio n. 1
0
        private async void LoadAngazuje(AngazujeSearchRequest search = null)
        {
            try
            {
                var lista = await _angazuje.Get <List <Model.Angazuje> >(search);


                dgvAngazuje.DataSource = lista;
            }
            catch (Exception)
            {
                throw;
            }
        }
Esempio n. 2
0
        private void cmbLinije_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                if (int.TryParse(cmbLinije.SelectedValue.ToString(), out int id))
                {
                    var search = new AngazujeSearchRequest()
                    {
                        ZaLiniju = false,
                        LinijaId = id
                    };

                    LoadAngazuje(search);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Angazuje", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Esempio n. 3
0
        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;
            }
        }