public async Task <BitcoinAverageConvertModel> getConvert(double amount, string from = "RUB", string to = "BTC", SymbolSetsEnum set_symbol = SymbolSetsEnum.global) { using (HttpClient client = new HttpClient()) { try { using (HttpResponseMessage response = await client.GetAsync(BaseUrl + "convert/" + set_symbol.ToString() + "?from=" + from + "&to=" + to + "&amount=" + amount)) { response.EnsureSuccessStatusCode(); string responseBody = await response.Content.ReadAsStringAsync(); using (var ms = new MemoryStream(Encoding.Unicode.GetBytes(responseBody))) { DataContractJsonSerializer deserializer = new DataContractJsonSerializer(typeof(BitcoinAverageConvertModel)); BitcoinAverageConvertModel bsObj2 = (BitcoinAverageConvertModel)deserializer.ReadObject(ms); responseBody = null; return(bsObj2); } } } catch (HttpRequestException e) { Console.WriteLine("\nException Caught!"); Console.WriteLine("Message :{0} ", e.Message); } } return(null); }
protected override void ScheduleBodyAsyncAction() { SetStatus("Запрос к API-BitcoinAverage (не-авторизованый)"); BitcoinAverageConvertModel answer = client.getConvert(SumFilter).Result; if (answer is null) { SetStatus("Ошибка получения данных с сервера API-BitcoinAverage", StatusTypes.ErrorStatus); SetStatus(null); return; } CurrentBtcRate = Math.Round(1 / answer.price * SumFilter, 2); RatesBTC.Add(answer); }