getSimplePrice method Null safety

Future<SimplePriceResponse> getSimplePrice(
  1. String currency
)

Get Uniris Coin infos (BTC Price, Local Currency Price) @param {String} currency

Implementation

Future<SimplePriceResponse> getSimplePrice(String currency) async {
  final SimplePriceResponse simplePriceResponse = SimplePriceResponse();
  simplePriceResponse.currency = currency;

  final HttpClient httpClient = HttpClient();
  try {
    HttpClientRequest request = await httpClient.getUrl(Uri.parse(
        'https://api.coingecko.com/api/v3/simple/price?ids=uniris&vs_currencies=BTC'));
    request.headers.set('content-type', 'application/json');
    HttpClientResponse response = await request.close();
    if (response.statusCode == 200) {
      final String reply = await response.transform(utf8.decoder).join();
      final SimplePriceBtcResponse simplePriceBtcResponse =
          simplePriceBtcResponseFromJson(reply);
      simplePriceResponse.btcPrice = simplePriceBtcResponse.uniris!.btc;
    }

    request = await httpClient.getUrl(Uri.parse(
        'https://api.coingecko.com/api/v3/simple/price?ids=uniris&vs_currencies=' +
            currency));
    request.headers.set('content-type', 'application/json');
    response = await request.close();
    if (response.statusCode == 200) {
      final String reply = await response.transform(utf8.decoder).join();
      switch (currency.toUpperCase()) {
        case 'ARS':
          final SimplePriceArsResponse simplePriceLocalResponse =
              simplePriceArsResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.ars;
          break;
        case 'AUD':
          final SimplePriceAudResponse simplePriceLocalResponse =
              simplePriceAudResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.aud;
          break;
        case 'BRL':
          final SimplePriceBrlResponse simplePriceLocalResponse =
              simplePriceBrlResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.brl;
          break;
        case 'CAD':
          final SimplePriceCadResponse simplePriceLocalResponse =
              simplePriceCadResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.cad;
          break;
        case 'CHF':
          final SimplePriceChfResponse simplePriceLocalResponse =
              simplePriceChfResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.chf;
          break;
        case 'CLP':
          final SimplePriceClpResponse simplePriceLocalResponse =
              simplePriceClpResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.clp;
          break;
        case 'CNY':
          final SimplePriceCnyResponse simplePriceLocalResponse =
              simplePriceCnyResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.cny;
          break;
        case 'CZK':
          final SimplePriceCzkResponse simplePriceLocalResponse =
              simplePriceCzkResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.czk;
          break;
        case 'DKK':
          final SimplePriceDkkResponse simplePriceLocalResponse =
              simplePriceDkkResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.dkk;
          break;
        case 'EUR':
          final SimplePriceEurResponse simplePriceLocalResponse =
              simplePriceEurResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.eur;
          break;
        case 'GBP':
          final SimplePriceGbpResponse simplePriceLocalResponse =
              simplePriceGbpResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.gbp;
          break;
        case 'HKD':
          final SimplePriceHkdResponse simplePriceLocalResponse =
              simplePriceHkdResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.hkd;
          break;
        case 'HUF':
          final SimplePriceHufResponse simplePriceLocalResponse =
              simplePriceHufResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.huf;
          break;
        case 'IDR':
          final SimplePriceIdrResponse simplePriceLocalResponse =
              simplePriceIdrResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.idr;
          break;
        case 'ILS':
          final SimplePriceIlsResponse simplePriceLocalResponse =
              simplePriceIlsResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.ils;
          break;
        case 'INR':
          final SimplePriceInrResponse simplePriceLocalResponse =
              simplePriceInrResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.inr;
          break;
        case 'JPY':
          final SimplePriceJpyResponse simplePriceLocalResponse =
              simplePriceJpyResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.jpy;
          break;
        case 'KRW':
          final SimplePriceKrwResponse simplePriceLocalResponse =
              simplePriceKrwResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.krw;
          break;
        case 'KWD':
          final SimplePriceKwdResponse simplePriceLocalResponse =
              simplePriceKwdResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.kwd;
          break;
        case 'MXN':
          final SimplePriceMxnResponse simplePriceLocalResponse =
              simplePriceMxnResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.mxn;
          break;
        case 'MYR':
          final SimplePriceMyrResponse simplePriceLocalResponse =
              simplePriceMyrResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.myr;
          break;
        case 'NOK':
          final SimplePriceNokResponse simplePriceLocalResponse =
              simplePriceNokResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.nok;
          break;
        case 'NZD':
          final SimplePriceNzdResponse simplePriceLocalResponse =
              simplePriceNzdResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.nzd;
          break;
        case 'PHP':
          final SimplePricePhpResponse simplePriceLocalResponse =
              simplePricePhpResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.php;
          break;
        case 'PKR':
          final SimplePricePkrResponse simplePriceLocalResponse =
              simplePricePkrResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.pkr;
          break;
        case 'PLN':
          final SimplePricePlnResponse simplePriceLocalResponse =
              simplePricePlnResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.pln;
          break;
        case 'RUB':
          final SimplePriceRubResponse simplePriceLocalResponse =
              simplePriceRubResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.rub;
          break;
        case 'SAR':
          final SimplePriceSarResponse simplePriceLocalResponse =
              simplePriceSarResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.sar;
          break;
        case 'SEK':
          final SimplePriceSekResponse simplePriceLocalResponse =
              simplePriceSekResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.sek;
          break;
        case 'SGD':
          final SimplePriceSgdResponse simplePriceLocalResponse =
              simplePriceSgdResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.sgd;
          break;
        case 'THB':
          final SimplePriceThbResponse simplePriceLocalResponse =
              simplePriceThbResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.thb;
          break;
        case 'TRY':
          final SimplePriceTryResponse simplePriceLocalResponse =
              simplePriceTryResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.tryl;
          break;
        case 'TWD':
          final SimplePriceTwdResponse simplePriceLocalResponse =
              simplePriceTwdResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.twd;
          break;
        case 'AED':
          final SimplePriceAedResponse simplePriceLocalResponse =
              simplePriceAedResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.aed;
          break;
        case 'ZAR':
          final SimplePriceZarResponse simplePriceLocalResponse =
              simplePriceZarResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.zar;
          break;
        case 'USD':
        default:
          final SimplePriceUsdResponse simplePriceLocalResponse =
              simplePriceUsdResponseFromJson(reply);
          simplePriceResponse.localCurrencyPrice =
              simplePriceLocalResponse.uniris!.usd;
          break;
      }
    }
  } finally {
    httpClient.close();
  }
  return simplePriceResponse;
}