Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
            }
        }