private async void LoadRates() { internetConnection = new InternetConnection(); var isConnection = await internetConnection.CheckConnection(); if (!isConnection.IsSuccess) { return; } try { var client = new HttpClient(); client.BaseAddress = new Uri("https://sebasapi.000webhostapp.com"); var controller = "/exchange/rates.json"; var response = await client.GetAsync(controller); if (response.IsSuccessStatusCode) { var results = await response.Content.ReadAsStringAsync(); var list = JsonConvert.DeserializeObject <RootObject>(results); RatesList = new ObservableCollection <Rate>(list.Rate); } } catch (Exception ex) { Debug.WriteLine(ex.Message); } }
public async void Convert(Double value) { internetConnection = new InternetConnection(); var isConnection = await internetConnection.CheckConnection(); if (!isConnection.IsSuccess) { return; } if (value <= 0) { await App.Current.MainPage.DisplayAlert("Error", "Please introduce a valid number", "Ok"); return; } try { var client = new HttpClient(); client.BaseAddress = new Uri("https://free.currencyconverterapi.com"); var controller = "/api/v6/convert?q=" + SourceRate.id + "_" + TargetRate.id + "&compact=ultra"; var response = await client.GetAsync(controller); if (response.IsSuccessStatusCode) { var results = await response.Content.ReadAsStringAsync(); String[] parts = results.Split(':'); parts[1] = parts[1].Remove(parts[1].Length - 1); Result = Double.Parse(parts[1]); Result = value * Result; Result = Math.Round(Result, 2); } } catch (Exception ex) { Debug.WriteLine(ex.Message); } }