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.GET_ALL_THIRUKURALS_WITH_RANGE
      );

      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
  );
}