private async void FetchPlaceTypes() { this.types = new List <Types>(); UserDialogs.Instance.Loading(title: "Processing Get Information...").Show(); var client = new HttpClient() { Timeout = TimeSpan.FromSeconds(20) }; var auth = "H6V$36A*!?L^G2NXX7U%=GY@"; JObject jsonDataObject = new JObject { { "auth", auth } }; JObject jsonData = new JObject { { "params", jsonDataObject } }; var data = jsonData.ToString(); var content = new StringContent(data, Encoding.UTF8, "application/json"); try { HttpResponseMessage response = await client.PostAsync(ApiURI.URL_MAIN + ApiURI.FETCH_PLACE_TYPES, content); string responseContent = await response.Content.ReadAsStringAsync(); if (response.StatusCode == HttpStatusCode.OK) { UserDialogs.Instance.Loading().Hide(); ListPlaceTypesResponse listPlaceTypesResponse = JsonConvert.DeserializeObject <ListPlaceTypesResponse>(responseContent); ListPlaceTypesResult listPlaceTypesResult = listPlaceTypesResponse.Result; this.types.AddRange(listPlaceTypesResult.Types.ToList()); this.lstViewTypes.ItemsSource = this.types; } } catch (TaskCanceledException ex) { UserDialogs.Instance.Loading().Hide(); UserDialogs.Instance.Toast(new ToastConfig("Bad Connection Error. Try Again")); } catch (Exception exx) { UserDialogs.Instance.Loading().Hide(); //Notifications.Internal.ServerError(); } }
private async Task FetchPlaceTypes() { UserDialogs.Instance.Loading(title: "Processing Get Information...").Show(); var client = new HttpClient() { Timeout = TimeSpan.FromSeconds(20) }; var auth = "H6V$36A*!?L^G2NXX7U%=GY@"; JObject jsonDataObject = new JObject { { "auth", auth } }; JObject jsonData = new JObject { { "params", jsonDataObject } }; var data = jsonData.ToString(); var content = new StringContent(data, Encoding.UTF8, "application/json"); Debug.WriteLine("REQUEST-FetchPlaces: " + data); try { HttpResponseMessage response = await client.PostAsync(ApiUri.BASE_URL + ApiUri.FETCH_PLACE_TYPES, content); string responseContent = await response.Content.ReadAsStringAsync(); if (response.StatusCode == HttpStatusCode.OK) { UserDialogs.Instance.Loading().Hide(); Debug.WriteLine("RESPONSE-FetchPlaces: " + responseContent); ListPlaceTypesResponse listPlaceTypesResponse = JsonConvert.DeserializeObject <ListPlaceTypesResponse>(responseContent); ListPlaceTypesResult listPlaceTypesResult = listPlaceTypesResponse.Result; listTypes = listPlaceTypesResult.Types.ToList(); if (listPlaceTypesResult.Success) { foreach (var place in listPlaces) { foreach (var type in listTypes) { if (!string.IsNullOrWhiteSpace(place.place_id[0]) && !"false".Equals(place.place_id[0])) { if (Convert.ToInt32(place.place_id[0]) == type.id) { place.image = type.image; } } } } foreach (var place in listPlaces) { ImageSource image = !(place.image is string base64) ? null : ImageSource.FromStream(() => new MemoryStream(Convert.FromBase64String(base64))); LayoutOptions Center = default; //var img = Convert.FromBase64String(place.image); //var icons = Android.Graphics.BitmapFactory.DecodeByteArray(img, 0, img.Length); //var bitmap = Android.Graphics.Bitmap.CreateBitmap(icons); //var contents = new StreamContent(new MemoryStream(img)); //var abc = Base64.EncodeToString(img, Base64Flags.Default); maps.Pins.Add(new Pin() { Label = place.name, //Address = host.province, Icon = BitmapDescriptorFactory.FromView( new ContentView { HeightRequest = 40, WidthRequest = 25, Content = new Image { Source = image, Aspect = Aspect.AspectFit, HeightRequest = 40, WidthRequest = 25, VerticalOptions = Center, HorizontalOptions = Center } }), Position = new Xamarin.Forms.GoogleMaps.Position(place.latitude, place.longitude), Type = PinType.Place, BindingContext = place, ZIndex = place.id, IsDraggable = false }); } } } } catch (TaskCanceledException ex) { UserDialogs.Instance.Loading().Hide(); UserDialogs.Instance.Toast(new ToastConfig("Bad Connection Error. Try Again")); Debug.WriteLine(ex.Message); } catch (Exception exx) { Debug.WriteLine(exx.Message); UserDialogs.Instance.Loading().Hide(); Notifications.Internal.ServerError(); } }
private async Task FetchPlaceTypes() { UserDialogs.Instance.Loading(title: "Processing Get Information...").Show(); var client = new HttpClient() { Timeout = TimeSpan.FromSeconds(20) }; JObject jsonDataObject = new JObject { { "auth", "H6V$36A*!?L^G2NXX7U%=GY@" } }; JObject jsonData = new JObject { { "params", jsonDataObject } }; var data = jsonData.ToString(); var content = new StringContent(data, Encoding.UTF8, "application/json"); Debug.WriteLine("REQUEST-FetchPlaces: " + data); try { HttpResponseMessage response = await client.PostAsync(ApiUri.BASE_URL + ApiUri.FETCH_PLACE_TYPES, content); string responseContent = await response.Content.ReadAsStringAsync(); if (response.StatusCode == HttpStatusCode.OK) { UserDialogs.Instance.Loading().Hide(); Debug.WriteLine("RESPONSE-FetchPlaces: " + responseContent); ListPlaceTypesResponse listPlaceTypesResponse = JsonConvert.DeserializeObject <ListPlaceTypesResponse>(responseContent); ListPlaceTypesResult listPlaceTypesResult = listPlaceTypesResponse.Result; listTypes = listPlaceTypesResult.Types.ToList(); if (listPlaceTypesResult.Success) { foreach (var place in listPlaces) { foreach (var type in listTypes) { if (!string.IsNullOrWhiteSpace(place.place_id[0]) && !"false".Equals(place.place_id[0])) { if (Convert.ToInt32(place.place_id[0]) == type.id) { place.image = type.image; } } } } pinMapsPlaces(); } } } catch (TaskCanceledException ex) { UserDialogs.Instance.Loading().Hide(); UserDialogs.Instance.Toast(new ToastConfig("Bad Connection Error. Try Again")); Debug.WriteLine(ex.Message); } catch (Exception exx) { Debug.WriteLine(exx.Message); UserDialogs.Instance.Loading().Hide(); Notifications.Internal.ServerError(); } }