コード例 #1
0
        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;
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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();
        }
コード例 #4
0
        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();
        }
コード例 #5
0
        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;
                }
            }
        }
コード例 #6
0
        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));
        }
コード例 #7
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;
            }
        }