callTransactionHistoryApi method

Future<void> callTransactionHistoryApi(
  1. int offset,
  2. int limit,
  3. String fromDate,
  4. String toDate, {
  5. String? transactionSubType,
})

Implementation

Future<void> callTransactionHistoryApi(
    int offset, int limit, String fromDate, String toDate,
    {String? transactionSubType}) async {
  BuildContext context = Get.context!;

  if (offset == 0) {
    Helper.progressDialog(context, "");
  }
  try {
    await ApiClient(baseUrl: ApiConstant.posBaseUrl)
        .getELoadOrderHistory(
      offset: offset,
      limit: limit,
      transactionType: "SELL_OUT",
      transactionSubType: transactionSubType ?? "ELOAD",
      fromDate: fromDate,
      toDate: toDate,
    )
        .then((response) async {
      StockOrderHistoryModel model = response;
      if (model.status == "POS200") {
        transactionsReceived.value = false;
        totalList = model.data?.totalRecords ?? 0;
        if (offset == 0) {
          Helper.close();
          eloadList.value = model.data?.list ?? [];
        } else {
          eloadList.addAll(model.data?.list ?? []);
          transactionsReceived.value = false;
        }
      } else {
        transactionsReceived.value = true;
        if (offset == 0) {
          Helper.close();
        }
        Helper.messageDialog(
          Get.context!,
          model.errors?.elementAtOrNull(0)?.code ?? 'tryAgain'.tr,
          model.errors?.elementAtOrNull(0)?.localeMessage ??
              'technicalErrorMsg'.tr,
        );
      }
    }).catchError((onError) {
      transactionsReceived.value = false;
      if (offset > 0) {
        transactionsReceived.value = false;
      }
      if (offset == 0) {
        Helper.close();
      }
      Helper.messageDialog(context, 'tryAgain'.tr, 'technicalErrorMsg'.tr);
    });
  } catch (e, st) {
    if (offset == 0) {
      Helper.close();
    }
    transactionsReceived.value = false;
    if (kDebugMode) {
      print(st);
    }
  }
}