uploadDoc method

Future uploadDoc({
  1. required File file,
  2. required dynamic onUpload(
    1. BankReceiptUploadModel
    ),
})

Implementation

Future uploadDoc({
  required File file,
  required Function(BankReceiptUploadModel) onUpload,
}) async {
  BuildContext context = Get.context!;
  Helper.progressDialog(context, "Please wait..");
  uploadImageStatus.value = false;
  try {
    String requestTime = "";
    String responseTime = "";
    await ApiClient(
      baseUrl: ApiConstant.baseUrl,
      onFetchRequestTime: (time) {
        requestTime = time;
      },
      onFetchResponseTime: (time) {
        responseTime = time;
      },
      screenName: "bankTransfer",
      buttonName: "docUpload",
    )
        .bankReceiptUpload(
            xUserId: SecureStorageService.readSecureData(
                  SecureStorageService.xUserId,
                ) ??
                "",
            sourceSystem: "POS",
            file: file,
            storeType: "FileSystem",
            resourceType: "PAYMENT_ATTACHMENT")
        .then((response) async {
      Helper.logEvent(
        "RESPONSE_EVENT",
        success: true,
        endPoint: Api.bankReceiptUpload,
        responseDate: responseTime,
        screenName: "bankTransfer",
        buttonName: "docUpload",
        requestDate: requestTime,
      );
      BankReceiptUploadModel model = response;
      if (model.documentId != null) {
        documentName.value = model.documentId ?? "";
        onUpload(response);
        uploadImageStatus.value = true;
        docSize.value = await getImageSizeFromUrl(
            "${ApiConstant.baseUrl}cpm-scheduler-svc/exportFile?fileId=${documentName.value}");
      }
      Helper.close();
    }).catchError((error) {
      ConditionalLogs().customLog("$error");
      Helper.close();
      MainController mainController = Get.put(MainController());
      mainController.showErrorPopup();
    });
  } catch (err, stacktrace) {
    Helper.close();
    ConditionalLogs().customLog("$err");
    ConditionalLogs().customLog("$stacktrace");
  }
}