getKuralByKuralNumber method

Future getKuralByKuralNumber({
  1. required int? kuralNumber,
})

Implementation

Future getKuralByKuralNumber({required int? kuralNumber}) async{
  kuralByNumber = null;
  errorMessageForKuralByNum = '';
  isKuralByNumLoaded = false;

  if(kuralNumber != null && kuralNumber != 0) {
    try {
      ApiResponse response = await ApiServices.get(
          requestHeaders: {},
          requestParams: {
            'kuralNumber': kuralNumber
          },
          endpoint: UrlServices.GET_KURAL_BY_NUMBER
      );

      logger.w(response.toJson());

      if (response.status != null && response.status!) {
        Map<String, dynamic> responseJson = response.response;
        if(responseJson.isNotEmpty) {
          kuralByNumber = Kural.fromJson(response.response);
        } else{
          errorMessageForKuralByNum = response.message ?? 'No response from server.';
        }
      } else {
        errorMessageForKuralByNum = response.message ??
            'Server error, failed to load kural by number';
      }
    } catch (e, stackTrace) {
      logger.e('Error while fetching kural by number: $e, $stackTrace');
    }
  }else{
    errorMessageForKuralByNum = 'Invalid kural number.';
  }

  logger.e('Error message while fetching kural by number: $errorMessageForKuralByNum');
  logger.e(errorMessageForKuralByNum);

  state = state.kuralByNumCopyWith(
      kuralByNum: kuralByNumber,
      errorMessageForKuralByNum: errorMessageForKuralByNum,
      isKuralByNumLoaded: isKuralByNumLoaded
  );
}