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

      logger.w(response.toJson());

      if (response.status != null && response.status!) {
        Map<String, dynamic> responseJson = response.response;
        if (responseJson.isNotEmpty) {
          kuralByNumber = Kural.fromJson(response.response);
          isKuralByNumLoaded = true;
        } 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);
}