public async Task PopulateList(List <MRestoran> list)
        {
            try
            {
                RestoranList.Clear();
                NajbliziRestoraniList.Clear();
                var request  = new GeolocationRequest(GeolocationAccuracy.Lowest);
                var location = await Geolocation.GetLocationAsync(request);

                Location korisnikPozicija = new Location(location.Latitude, location.Longitude);
                foreach (var x in list)
                {
                    RestoranList.Add(x);
                    Location restoran = new Location(x.Latitude ?? 0, x.Longitude ?? 0);

                    var distanca = Location.CalculateDistance(korisnikPozicija, restoran, DistanceUnits.Kilometers);
                    if (distanca < 5)
                    {
                        NajbliziRestoraniList.Add(x);
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }
Beispiel #2
0
        public async Task Init()
        {
            if (RestoranList.Count == 0)
            {
                var restoran = await _restoranService.Get <IEnumerable <MRestoran> >(null);

                RestoranList.Insert(0, new MRestoran {
                    Naziv = "Sve"
                });

                foreach (var y in restoran)
                {
                    RestoranList.Add(y);
                }
            }

            if (StatusList.Count == 0)
            {
                var status = await _statusService.Get <IEnumerable <MStatus> >(null);

                StatusList.Insert(0, new MStatus {
                    Naziv = "Sve"
                });

                foreach (var y in status)
                {
                    if (y.Naziv == "Nepoznato" || y.Naziv == "Otkazana" || y.Naziv == "Potvrđena")
                    {
                        StatusList.Add(y);
                    }
                }
            }

            List <MRezervacije>      rezervacije = null;
            RezervacijeSearchRequest request     = new RezervacijeSearchRequest();

            request.KorisnikId = Global.prijavljeniKupac.KorisnikId;
            if (SelectedRestoran != null && SelectedStatus != null)
            {
                if (SelectedRestoran.RestoranId == 0 && SelectedStatus.StatusId == 0)
                {
                    rezervacije = await _rezervacijeService.Get <List <MRezervacije> >(request);
                }
                else
                {
                    if (SelectedRestoran.RestoranId == 0)
                    {
                        request.RestoranId = null;
                    }
                    else
                    {
                        request.RestoranId = SelectedRestoran.RestoranId;
                    }

                    if (SelectedStatus.StatusId == 0)
                    {
                        request.StatusId = null;
                    }
                    else
                    {
                        request.StatusId = SelectedStatus.StatusId;
                    }
                    rezervacije = await _rezervacijeService.Get <List <MRezervacije> >(request);
                }
            }

            else
            {
                rezervacije = await _rezervacijeService.Get <List <MRezervacije> >(request);
            }

            RezervacijeList.Clear();

            foreach (var x in rezervacije)
            {
                RezervacijeList.Add(x);
            }
        }