示例#1
0
        private async void btnPretrazi_Click(object sender, EventArgs e)
        {
            var search = new PutnikSearchRequest()
            {
                Ime     = txtIme.Text,
                Prezime = txtPrezime.Text
            };

            var lista = await _putnici.Get <List <Model.Putnik> >(search);



            dgvPutnici.DataSource = lista;
        }
示例#2
0
        public async Task <Putnici> GetPutnik()
        {
            PutnikSearchRequest searchP = new PutnikSearchRequest()
            {
                userName = APIService.Username
            };
            List <Putnici> p = await _putnikService.Get <List <eBus.Model.Putnici> >(searchP);

            Putnici putn = new Putnici();

            foreach (var item in p)
            {
                if (item.KorisnickoIme == APIService.Username)
                {
                    putn = item;
                }
            }
            return(putn);
        }
        public async Task Init()
        {
            var lista = await _notifikacijeService.Get <List <Notifikacije> >(null);

            var searchPutnik = new PutnikSearchRequest()
            {
                KorisnickoIme = APIService.KorisnickoIme
            };

            var listaPutnika = await _putnikService.Get <List <Putnik> >(searchPutnik);

            Putnik putnik = null;

            foreach (var item in listaPutnika)
            {
                if (item.KorisnickoIme == APIService.KorisnickoIme)
                {
                    putnik = item;
                    break;
                }
            }

            var searchPN = new PutnikNotifikacijeSearchRequest()
            {
                PutnikId = putnik.Id
            };

            var listaPN = await _putnikNotifikacijeService.Get <List <PutnikNotifikacije> >(searchPN);

            NotifikacijeList.Clear();

            foreach (var item in lista)
            {
                foreach (var item2 in listaPN)
                {
                    if (item.Id == item2.NotifikacijaId && !item2.Pregledana)
                    {
                        NotifikacijeList.Add(item);
                    }
                }
            }
        }
示例#4
0
        private async void Button_Clicked(object sender, EventArgs e)
        {
            if (!Regex.IsMatch(model.Ocjena.ToString(), @"[1-5]"))
            {
                await Application.Current.MainPage.DisplayAlert(" ", "Ocjena mora biti izmedju 1 i 5", "OK");
            }

            try
            {
                var search = new PutnikSearchRequest()
                {
                    KorisnickoIme = APIService.KorisnickoIme
                };
                var listaPutnika = await _putnikService.Get <List <Putnik> >(search);

                Putnik putnik = null;
                foreach (var item in listaPutnika)
                {
                    if (item.KorisnickoIme == APIService.KorisnickoIme)
                    {
                        putnik = item;
                        break;
                    }
                }

                var ocjena = new OcjenaUpsertRequest();

                ocjena.PutnikId     = putnik.Id;
                ocjena.KompanijaId  = model.Kompanija.Id;
                ocjena.OcjenaUsluge = model.Ocjena;
                ocjena.Komentar     = model.Komentar;

                await _ocjenaService.Insert <Ocjena>(ocjena);

                await Application.Current.MainPage.DisplayAlert(" ", "Uspješno ste ocjenili kompaniju", "OK");
            }
            catch (Exception)
            {
                throw;
            }
        }
        private async void btnLogin_Click(object sender, EventArgs e)
        {
            try
            {
                APIService.KorisnickoIme = txtKorisnickoIme.Text;
                APIService.Lozinka       = txtLozinka.Text;

                var search = new PutnikSearchRequest()
                {
                    KorisnickoIme = APIService.KorisnickoIme
                };

                var listaPutnika = await _putnikService.Get <List <Model.Putnik> >(search);

                bool prolaz = true;

                foreach (var item in listaPutnika)
                {
                    if (item.KorisnickoIme == APIService.KorisnickoIme)
                    {
                        prolaz = false;
                        break;
                    }
                }

                if (prolaz)
                {
                    await _korisniciService.Get <dynamic>(null);

                    DialogResult = DialogResult.OK;
                }
                else
                {
                    MessageBox.Show("Nema te pravo pristupa");
                }
            }
            catch (Exception ex)
            {
                // MessageBox.Show(ex.Message,"Login", MessageBoxButtons.OK,MessageBoxIcon.Error);
            }
        }
示例#6
0
        public async Task Init()
        {
            var search = new PutnikSearchRequest()
            {
                KorisnickoIme = APIService.KorisnickoIme
            };

            var listaPutnika = await _putnikService.Get <List <Putnik> >(search);

            Putnik putnik = null;

            foreach (var item in listaPutnika)
            {
                if (item.KorisnickoIme == APIService.KorisnickoIme)
                {
                    putnik = item;
                    break;
                }
            }

            var searchRez = new RezervacijaSearchRequest()
            {
                PoAngazmanu = false,
                PutnikId    = putnik.Id
            };

            var lista = await _rezervacijeService.Get <List <Rezervacija> >(searchRez);

            RezervacijeList.Clear();
            foreach (var item in lista)
            {
                if (!item.Otkazana.Value && item.DatumIsteka > DateTime.Now) // dodao da prikazuje samo gdje je DatumIsteka veci od trenutnog datuma
                {
                    RezervacijeList.Add(item);
                }
            }
        }
示例#7
0
        public async Task <IActionResult> Prikaz()
        {
            Model.Putnik putnik = null;

            var search = new PutnikSearchRequest()
            {
                KorisnickoIme = APIService.Username
            };

            HttpResponseMessage resKupac = await _putnikService.Get(search);

            if (resKupac.IsSuccessStatusCode)
            {
                var result  = resKupac.Content.ReadAsStringAsync().Result;
                var putnici = JsonConvert.DeserializeObject <List <Model.Putnik> >(result);

                if (putnici.Count == 1)
                {
                    putnik = putnici[0];
                }
            }

            return(View(putnik));
        }
        public async Task NavigateFromMenu(int id)
        {
            if (!MenuPages.ContainsKey(id))
            {
                switch (id)
                {
                case (int)MenuItemType.Notifikacija:
                    MenuPages.Add(id, new NavigationPage(new NotifikacijePage()));
                    break;

                //case (int)MenuItemType.Browse:
                //    MenuPages.Add(id, new NavigationPage(new ItemsPage()));
                //    break;
                //case (int)MenuItemType.About:
                //    MenuPages.Add(id, new NavigationPage(new AboutPage()));
                //    break;
                case (int)MenuItemType.Profil:

                    var search = new PutnikSearchRequest()
                    {
                        KorisnickoIme = APIService.KorisnickoIme
                    };

                    var putnici = await _putnici.Get <List <Model.Putnik> >(search);

                    Model.Putnik putnik = new Model.Putnik();
                    putnik = putnici[0];
                    MenuPages.Add(id, new NavigationPage(new KorisnickiProfilPage(putnik)));
                    break;

                case (int)MenuItemType.Novosti:
                    MenuPages.Add(id, new NavigationPage(new NovostiPage()));
                    break;

                case (int)MenuItemType.Ocjena:
                    MenuPages.Add(id, new NavigationPage(new OcjenaPage()));
                    break;

                case (int)MenuItemType.Linija:
                    MenuPages.Add(id, new NavigationPage(new LinijaPage()));
                    break;

                case (int)MenuItemType.Rezervacija:
                    MenuPages.Add(id, new NavigationPage(new RezervacijaPage()));
                    break;

                case (int)MenuItemType.Odjava:
                    MenuPages.Add(id, new NavigationPage(new Logout()));
                    break;
                }
            }

            var newPage = MenuPages[id];

            if (newPage != null && Detail != newPage)
            {
                Detail = newPage;

                if (Device.RuntimePlatform == Device.Android)
                {
                    await Task.Delay(100);
                }

                IsPresented = false;
            }
        }
示例#9
0
        public async Task KupiKartu(Sjediste s, DateTime datum, TimeSpan vrijemePolaska)
        {
            var reze = new RezervacijaUpsertRequest();

            var searchP = new PutnikSearchRequest()
            {
                KorisnickoIme = APIService.KorisnickoIme
            };
            var listaPutnika = await __putniciService.Get <List <Putnik> >(searchP);

            Putnik putnik = null;

            foreach (var item in listaPutnika)
            {
                if (item.KorisnickoIme == APIService.KorisnickoIme)
                {
                    putnik = item;
                    break;
                }
            }

            var searchKa = new KartaSearchRequest()
            {
                PoAngzuje      = false,
                PoVozilu       = true,
                Red            = s.Red,
                Kolona         = s.Kolona,
                PoDatumu       = true,
                DatumIzdavanja = datum,
                IzSjedista     = false,
                PoVremenu      = true,
                VrijemePolaska = vrijemePolaska
            };

            var listaKarata = await __karteService.Get <List <Karta> >(searchKa);

            Karta karta = null;

            foreach (var item in listaKarata)
            {
                if (item.Sjediste.VoziloId == _voziloid && item.AngazujeId == Angazman)
                {
                    karta = item;
                    break;
                }
            }

            if (karta == null)
            {
                await Application.Current.MainPage.DisplayAlert(" ", "Trenutno karta nije kreirana", "OK");
            }
            else if (karta.DatumIzdavanja.Date < DateTime.Now.Date)
            {
                await Application.Current.MainPage.DisplayAlert(" ", "Niste u mogučnosti rezervisati", "OK");
            }
            else if (karta.DatumIzdavanja.Date == DateTime.Now.Date && karta.VrijemePolaska < DateTime.Now.TimeOfDay)
            {
                await Application.Current.MainPage.DisplayAlert(" ", "Vrijeme koje ste izabrali je isteklo", "OK");
            }
            else
            {
                var cijena = await _cijenaService.Get <List <Cijena> >(new CijenaSearchRequest()
                {
                    KompanijaID = s.Vozilo.KompanijaId,
                    LinijaID    = karta.Angazuje.LinijaId
                });

                reze.KartaId        = karta.Id;
                reze.PutnikId       = putnik.Id;
                reze.DatumKreiranja = DateTime.Now;
                reze.DatumIsteka    = karta.DatumIzdavanja.AddDays(1);
                reze.Otkazana       = false;


                if (DateTime.Now.Date.Year - putnik.DatumRodjenja.Value.Date.Year > 50 || DateTime.Now.Date.Year - putnik.DatumRodjenja.Value.Date.Year < 18)
                {
                    reze.CijenaSaPopustom = cijena[0].Popust == 0 ? cijena[0].Iznos :cijena[0].Iznos - (cijena[0].Iznos * decimal.Parse(cijena[0].Popust.Value.ToString()));
                }
                else
                {
                    reze.CijenaSaPopustom = cijena[0].Iznos;
                }



                await __rezervacijaService.Insert <Rezervacija>(reze);

                await Application.Current.MainPage.DisplayAlert(" ", "Uspješno ste kreirali rezervaciju", "OK");
            }
        }
示例#10
0
        public async Task OznaciProcitano(Notifikacije n)
        {
            try
            {
                var searchPutnik = new PutnikSearchRequest()
                {
                    userName = APIService.Username
                };

                var listaPutnika = await _putnikService.Get <List <Putnici> >(searchPutnik);

                Putnici putnik = null;
                foreach (var item in listaPutnika)
                {
                    if (item.KorisnickoIme == APIService.Username)
                    {
                        putnik = item;
                        break;
                    }
                }

                var searchPN = new PutnikNotifikacijeSearchRequest()
                {
                    PutnikId = putnik.PutnikId
                };

                var listaPN = await _putnikNotifikacijeService.Get <List <PutnikNotifikacije> >(searchPN);

                PutnikNotifikacije pn = null;
                foreach (var item in listaPN)
                {
                    if (item.NotifikacijeId == n.NotifikacijeId && item.PutnikId == putnik.PutnikId)
                    {
                        pn = item;
                        break;
                    }
                }

                if (pn != null)
                {
                    var request = new PutnikNotifikacijeUpsertRequest()
                    {
                        NotifikacijaId = n.NotifikacijeId,
                        PutnikId       = putnik.PutnikId,
                        Pregledana     = true
                    };

                    await _putnikNotifikacijeService.Update <PutnikNotifikacije>(pn.NotifikacijeId, request);

                    if (n != null)
                    {
                        NotifikacijeList.Remove(n);

                        await Application.Current.MainPage.DisplayAlert(" ", "Označili ste notifikaciju pročitanom", "OK");
                    }
                }



                //var updateN = new NotifikacijaUpsertRequest()
                //{
                //    DatumSlanja = n.DatumSlanja,
                //    Naslov = n.Naslov,
                //    NovostId = n.NovostId,
                //    Procitano = true
                //};

                //await _notifikacijeService.Update<Notifikacija>(n.Id, updateN);
            }
            catch (Exception)
            {
                throw;
            }
        }