getWeatherForecastByLatLong method

Future<NTRepository> getWeatherForecastByLatLong(
  1. String lat,
  2. String lng,
  3. String token
)

Implementation

Future<NTRepository> getWeatherForecastByLatLong(
    String lat, String lng, String token) async {
  NTRepository objReturn = NTRepository(statusId: 1, description: "Ok");
  Repository repository = Repository();

  try {
    dynamic paramBody = {
      "lat": lat,
      "lon": lng,
      "key": token,
      "user_ip": 'remote'
    };

    Response? response = await repository.callDio(
        "https://api.hgbrasil.com/weather", null, null, paramBody, 'get');

    if (response!.statusCode == 200) {
      Map<String, dynamic> map = response.data;
      if (!map["valid_key"]) {
        throw Exception("Token de validação inválido");
      } else {
        objReturn.dataValue = map["results"];
      }
    } else {
      objReturn.statusId = response.statusCode;
      objReturn.description = response.statusMessage;
    }
  } catch (ex) {
    objReturn.statusId = objReturn.statusId == 0 || objReturn.statusId == 1
        ? 99
        : objReturn.statusId;
    objReturn.description = ex.toString().replaceAll("Exception:", "");
  }

  return objReturn;
}