getAllKuralsInRange method

Future getAllKuralsInRange({
  1. required int from,
  2. required int to,
})

Implementation

Future getAllKuralsInRange({required int from, required int to}) async {
  isAllKuralsInRangeLoaded = false;
  kuralsInRangeList.clear();
  errorMessageForAllKuralsInRange = '';

  try {
    ApiResponse response = await ApiServices.get(
        requestHeaders: {},
        requestParams: {'from': from, 'to': to},
        endpoint: UrlServices.getAllThirukuralsWithRange);

    logger.w(response.toJson());

    if (response.status != null && response.status!) {
      List<dynamic> responseList = response.response ?? [];
      if (responseList.isNotEmpty) {
        for (var json in responseList) {
          kuralsInRangeList.add(Kural.fromJson(json));
          isAllKuralsInRangeLoaded = true;
        }
      } else {
        errorMessageForAllKuralsInRange =
            response.message ?? 'No response from server.';
      }
    } else {
      errorMessageForAllKuralsInRange = response.message ??
          'Server error, failed to load kurals, please try again later';
    }
  } catch (e, stackTrace) {
    logger.e('Error while fetching all kurals: $e, $stackTrace');
    errorMessageForAllKuralsInRange = 'Error while fetching all kurals: $e';
  }

  state = state.allKuralsInRangeCopyWith(
      isAllKuralsInRangeLoaded: isAllKuralsInRangeLoaded,
      kuralsInRangeList: kuralsInRangeList,
      errorMessageForAllKuralsInRange: errorMessageForAllKuralsInRange);
}