public PretragaLetova(Letovi_RezervacijaVM letovi, Letovi_RezervacijaVM letoviPovratak)
        {
            InitializeComponent();

            Letovi         = letovi;
            LetoviPovratak = letoviPovratak;

            letoviList.ItemsSource = letovi.podaci;
            BindKlase();
        }
        public PretragaLetovaPovratak(Letovi_RezervacijaVM.Rows odabraniletPolazak, int odabranaKlasaPolazak, Letovi_RezervacijaVM letoviPovratak)
        {
            InitializeComponent();
            PovratniLetovi = letoviPovratak;
            letoviPovratakList.ItemsSource = PovratniLetovi.podaci;

            OdabraniLetPolazak   = odabraniletPolazak;
            OdabranaKlasaPolazak = odabranaKlasaPolazak;

            BindKlase();
        }
Пример #3
0
        public IHttpActionResult SearchRecommendedLet(int korisnikID)
        {
            List <Rows> dosadasnjeRezervacije = RezervacijeKorisnika(korisnikID);

            Letovi_RezervacijaVM temp = new Letovi_RezervacijaVM();

            List <Let> letovi = new List <Let>();

            foreach (Rows rows in dosadasnjeRezervacije.Take(5).ToList())
            {
                letovi.AddRange(db.Let.Include(x => x.Grad).Include(x => x.Grad1).
                                Where(x => x.isPosebnaPonuda == false && x.PolazisteID == rows.polazisteID && x.OdredisteID == rows.odredisteID &&
                                      x.DatumVrijemePolaska > DateTime.Now && x.StatusLeta == false).
                                ToList().Take(5));
            }


            temp.podaci = letovi.OrderBy(x => x.DatumVrijemePolaska).Select(x => new Letovi_RezervacijaVM.Rows
            {
                LetID       = x.LetID,
                PolazisteID = x.PolazisteID,
                OdredisteID = x.OdredisteID,
                BrojLeta    = x.BrojLeta,

                DatumPolaska = x.DatumVrijemePolaska.ToString("d MMM, yyyy"),
                DatumDolaska = x.DatumVrijemeDolaska.ToString("d MMM, yyyy"),

                VrijemePolaska = x.DatumVrijemePolaska.ToString("HH:mm"),
                VrijemeDolaska = x.DatumVrijemeDolaska.ToString("HH:mm"),

                CijenaBussOdrasli      = x.CijenaBussOdrasli,
                CijenaBussDjeca        = x.CijenaBussDjeca,
                CijenaEcoDjeca         = x.CijenaEcoDjeca,
                CijenaEcoOdrasli       = x.CijenaEcoOdrasli,
                polaziste              = x.Grad1.Naziv + " " + x.Grad1.Oznaka,
                odrediste              = x.Grad.Naziv + " " + x.Grad.Oznaka,
                BrojSlobodnihBussiness = Convert.ToInt32(db.Sjediste.Where(p => p.LetID == x.LetID && p.isBussiness == true && p.isZauzeto == false).Count()),
                BrojSlobodnihEkonomska = Convert.ToInt32(db.Sjediste.Where(p => p.LetID == x.LetID && p.isBussiness == false && p.isZauzeto == false).Count())
            }).ToList();

            Letovi_RezervacijaVM Model = new Letovi_RezervacijaVM();

            Model.podaci = new List <Letovi_RezervacijaVM.Rows>();
            Model.podaci = temp.podaci.Where(x => x.BrojSlobodnihBussiness > 0 || x.BrojSlobodnihEkonomska > 0).ToList();

            return(Ok(Model));
        }
Пример #4
0
        private void BindPreporuceniLetovi()
        {
            HttpResponseMessage response = recommenderServis.GetActionResponse("SearchRecommendedLet", Global.logiraniKorisnik.KorisnikID.ToString());

            if (response.IsSuccessStatusCode)
            {
                var jsonResult = response.Content.ReadAsStringAsync();
                Letovi_RezervacijaVM letovi = JsonConvert.DeserializeObject <Letovi_RezervacijaVM>(jsonResult.Result);
                letoviList.ItemsSource = letovi.podaci;
                Letovi = letovi;
                if (letovi.podaci.Count == 0)
                {
                    DisplayAlert("Info", "Trenutno nema preporučenih letova", "Nazad");
                }
            }
            else
            {
                DisplayAlert("Greška", "Nemoguće pristupiti preporučenim letovima", "Nazad");
            }
        }
Пример #5
0
        public IHttpActionResult SearchLetByPolazisteOdrediste(string datum, int polazisteID, int odredisteID)
        {
            Letovi_RezervacijaVM temp  = new Letovi_RezervacijaVM();
            DateTime             Datum = DateTime.Parse(datum);

            List <Let> letovi = db.Let.Include(x => x.Grad).Include(x => x.Grad1).
                                Where(x => x.isPosebnaPonuda == false && x.PolazisteID == polazisteID && x.OdredisteID == odredisteID &&
                                      DbFunctions.TruncateTime(x.DatumVrijemePolaska) == Datum.Date && x.StatusLeta == false).
                                ToList();

            temp.podaci = letovi.Select(x => new Letovi_RezervacijaVM.Rows
            {
                LetID       = x.LetID,
                PolazisteID = x.PolazisteID,
                OdredisteID = x.OdredisteID,
                BrojLeta    = x.BrojLeta,

                DatumPolaska = x.DatumVrijemePolaska.ToString("d MMM, yyyy"),
                DatumDolaska = x.DatumVrijemeDolaska.ToString("d MMM, yyyy"),

                VrijemePolaska = x.DatumVrijemePolaska.ToString("HH:mm"),
                VrijemeDolaska = x.DatumVrijemeDolaska.ToString("HH:mm"),

                CijenaBussOdrasli      = x.CijenaBussOdrasli,
                CijenaBussDjeca        = x.CijenaBussDjeca,
                CijenaEcoDjeca         = x.CijenaEcoDjeca,
                CijenaEcoOdrasli       = x.CijenaEcoOdrasli,
                polaziste              = x.Grad1.Naziv + " " + x.Grad1.Oznaka,
                odrediste              = x.Grad.Naziv + " " + x.Grad.Oznaka,
                BrojSlobodnihBussiness = Convert.ToInt32(db.Sjediste.Where(p => p.LetID == x.LetID && p.isBussiness == true && p.isZauzeto == false).Count()),
                BrojSlobodnihEkonomska = Convert.ToInt32(db.Sjediste.Where(p => p.LetID == x.LetID && p.isBussiness == false && p.isZauzeto == false).Count())
            }).ToList();

            Letovi_RezervacijaVM Model = new Letovi_RezervacijaVM();

            Model.podaci = new List <Letovi_RezervacijaVM.Rows>();
            Model.podaci = temp.podaci.Where(x => x.BrojSlobodnihBussiness > 0 || x.BrojSlobodnihEkonomska > 0).ToList();

            return(Ok(Model));
        }
Пример #6
0
        private void BtnPretraga_Clicked(object sender, EventArgs e)
        {
            if (txtDatum.Date < DateTime.Now.Date)
            {
                DisplayAlert("Info", "Datum polaska ne smije biti manji od trenutnog vremena", "OK");
                return;
            }

            if (swPovratak.IsToggled)
            {
                if (txtDatumPovratak.Date < txtDatum.Date)
                {
                    DisplayAlert("Info", "Datum povratka ne smije biti manji od datuma polaska", "OK");
                    return;
                }
            }

            if (PolazistePicker.SelectedItem != null && OdredistePicker.SelectedItem != null)
            {
                int    polazisteID  = (PolazistePicker.SelectedItem as Grad).GradID;
                int    odredisteID  = (OdredistePicker.SelectedItem as Grad).GradID;
                string datumPolaska = txtDatum.Date.ToString().Replace("/", "-").Replace(":", ".");

                HttpResponseMessage response = letServis.GetActionResponse("SearchLetByPolazisteOdrediste", datumPolaska, polazisteID.ToString(), odredisteID.ToString());
                if (response.IsSuccessStatusCode)
                {
                    var jsonObj = response.Content.ReadAsStringAsync();
                    Letovi_RezervacijaVM letovi = JsonConvert.DeserializeObject <Letovi_RezervacijaVM>(jsonObj.Result);

                    if (letovi.podaci.Count == 0)
                    {
                        DisplayAlert("Info", "Nema dostupnih letova za polazak", "OK");
                    }
                    else
                    {
                        if (swPovratak.IsToggled)
                        {
                            string datumPovratka = txtDatumPovratak.Date.ToString().Replace("/", "-").Replace(":", ".");
                            HttpResponseMessage responsePovratak = letServis.GetActionResponse("SearchLetByPolazisteOdrediste", datumPovratka, odredisteID.ToString(), polazisteID.ToString());

                            if (responsePovratak.IsSuccessStatusCode)
                            {
                                var jsonObjPovratak = responsePovratak.Content.ReadAsStringAsync();
                                Letovi_RezervacijaVM letoviPovratak = JsonConvert.DeserializeObject <Letovi_RezervacijaVM>(jsonObjPovratak.Result);

                                if (letoviPovratak.podaci.Count == 0)
                                {
                                    DisplayAlert("Info", "Nema dostupnih letova za povratak", "OK");
                                }
                                else
                                {
                                    Navigation.PushAsync(new PretragaLetova(letovi, letoviPovratak));
                                }
                            }
                            else
                            {
                                DisplayAlert("Greška", "Nemoguće pristupiti letovima za povratak", "OK");
                            }
                        }
                        else
                        {
                            Navigation.PushAsync(new PretragaLetova(letovi, null));
                        }
                    }
                }
                else
                {
                    DisplayAlert("Greška", "Nemoguće pristupiti letovima za polazak", "OK");
                }
            }
            else
            {
                DisplayAlert("Greška", "Potrebno je odabrati polazište i destinaciju", "Nazad");
            }
        }