getInvoice method
Implementation
Future<void> getInvoice(String transactionId, String? orderId) async {
var docUrl = transactionId;
if (await canLaunchUrl(Uri.parse(docUrl))) {
await launchUrl(Uri.parse(docUrl), mode: LaunchMode.inAppBrowserView);
}
return;
BuildContext context = Get.context!;
Helper.progressDialog(context, "Please wait..");
var body = {
"sourceSystem": "MobileApp",
"saleOrderId": orderId,
"partnerId": storage.read("DEALER_ID") ?? "",
};
try {
InvoiceReceiptModel model = await ApiClient(baseUrl: ApiConstant.posBL)
.invoiceReceipt(
status: "generate",
body: body,
orderId: orderId ?? "",
xUserName: storage.read("XUSER_ID"),
xUserId: storage.read("XUSER_ID"));
if (model.status == "POS200") {
Get.back();
if (model.data != null) {
var docUrl = model.data!.downloadURL ?? "";
if (await canLaunchUrl(Uri.parse(docUrl))) {
await launchUrl(Uri.parse(docUrl),
mode: LaunchMode.inAppBrowserView);
}
}
} else {
Get.back();
if (model.errors != null) {
Helper.messageDialog(
Get.context!,
model.errors![0].errorItem!.errorCode ?? "Try again!!",
model.errors![0].errorItem!.errorMessage ??
"Something went wrong");
}
}
} catch (err, stacktrace) {
Get.back();
log(err.toString());
print(stacktrace);
MainController mainController = Get.put(MainController());
mainController.showErrorPopup();
}
}