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) { } }
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); } }