public async Task LoadItems() { if (IsBusy) { return; } IsBusy = true; IsNotBusy = false; try { var coinDetailResult = await CoinDataStore.GetCoinDetailsAsync(ItemId); if (coinDetailResult.Response == "Success") { CoinDetails = coinDetailResult; } else { // inform about no result with msg/box } } catch (Exception ex) { Debug.WriteLine(ex); } finally { IsBusy = false; IsNotBusy = true; } }
public async Task <CoinDetailsResponse> GetCoinDetailsAsync(string id) { CoinDetailsResponse result = null; if (id != null && CrossConnectivity.Current.IsConnected) { SetHeaders(); var json = await client.GetStringAsync($"https://www.cryptocompare.com/api/data/coinsnapshotfullbyid/?id={id}"); result = await Task.Run(() => JsonConvert.DeserializeObject <CoinDetailsResponse>(json, Converter.Settings)); } return(result); }