Exemplo n.º 1
0
        /// <summary>
        /// Получение рекомендации.
        /// </summary>
        async private Task DoReq()
        {
            if (location != null)
            {
                string safix = $"&ll={GetDouble(location.Latitude)},{GetDouble(location.Longitude)}&categoryId=4deefb944765f83613cdba6e,4bf58dd8d48988d181941735,5642206c498e4bfca532186c&limit=15&radius=20000&locale=ru";

                try
                {
                    PlacesInfo placesInfo = await GetPlacesRecomendation(recUrl + safix);

                    if (placesInfo.meta.code == 200)
                    {
                        indicator.IsRunning = false;
                        MakePlacesList(placesInfo);
                    }
                    else
                    {
                        await DisplayAlert("Ошибка", $"Код: {placesInfo.meta.code}", "OK");
                    }
                }
                catch (WebException ex)
                {
                    await DisplayAlert("Ошибка", "Проблемы с интернетом", "OK");
                }
                catch (Exception)
                {
                    await DisplayAlert("Ошибка", "Произошла непредвиденная ошибка", "OK");
                }
                finally
                {
                    indicator.IsRunning = false;
                }
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Получение списка мест.
 /// </summary>
 /// <param name="placesInfo"></param>
 private void MakePlacesList(PlacesInfo placesInfo)
 {
     foreach (var groups in placesInfo.response.groups)
     {
         foreach (var items in groups.items)
         {
             Place newPlace = new Place(items.venue, MainPage.CurrentTrip.Id);
             places.Add(newPlace);
         }
     }
 }
Exemplo n.º 3
0
        /// <summary>
        /// Запрос на получение списка рекомендаций.
        /// </summary>
        async private Task <PlacesInfo> GetPlacesRecomendation(string url)
        {
            HttpWebRequest  httpWebRequest  = (HttpWebRequest)WebRequest.Create(url);
            HttpWebResponse httpWebResponse = (HttpWebResponse)await httpWebRequest.GetResponseAsync();

            string response;

            using (StreamReader streamReader = new StreamReader(httpWebResponse.GetResponseStream()))
            {
                response = streamReader.ReadToEnd();
            }
            PlacesInfo placesInfo = JsonConvert.DeserializeObject <PlacesInfo>(response);

            return(placesInfo);
        }