getOrderRulesServiceRequest method
Implementation
Future<bool> getOrderRulesServiceRequest(
BuildContext context,
List<Map<String, dynamic>> offers,
) async {
BuildContext context = Get.context!;
Helper.progressDialog(context, "Please wait..");
try {
bool status = false;
var body = approvalData;
if (approvalData['orderRules'] == null) {
approvalData['orderRules'] = {};
}
if (approvalData['orderRules']['offers'] == null) {
approvalData['orderRules']['offers'] = [];
}
approvalData['orderRules']['offers'].addAll(offers);
approvalData['orderRules']['offers'] =
approvalData['orderRules']['offers']
.fold<Map<String, dynamic>>({}, (map, offer) {
map[offer['offerId']] = offer;
return map;
})
.values
.toList();
print("Updated approvalData: ${approvalData}");
String requestTime = "";
String responseTime = "";
await ApiClient(
baseUrl: ApiConstant.baseUrl,
onFetchRequestTime: (time) {
requestTime = time;
},
onFetchResponseTime: (time) {
responseTime = time;
},
screenName: "approval",
)
.getOrderRulesServiceRequest(
body: body,
xUserId: SecureStorageService.readSecureData(
SecureStorageService.xUserId,
) ?? "",
)
.then((response) async {
Helper.logEvent(
"RESPONSE_EVENT",
success: true,
endPoint: "${Api.customersList}/${SecureStorageService.readSecureData(
SecureStorageService.userId,
)}",
responseDate: responseTime,
screenName: "customerManagement",
requestDate: requestTime,
);
Helper.close();
if (response != null) {
if (response.transactionId != null) {
status = true;
Helper.close();
} else {
Helper.messageDialog(
Get.context!,
response.responseCode ?? localization.translate("tryAgain"),
response.responseMessage ??
localization.translate("somethingWentWrong"),
);
}
}
}).catchError((error) {
isLoading.value = false;
Helper.close();
ConditionalLogs().customLog("$error");
if (error is DioException) {
if (error.response != null &&
error.response!.data is Map<String, dynamic>) {
Map<String, dynamic> errorData = error.response!.data;
String responseCode = errorData["responseCode"] ?? "Unknown Code";
String responseMessage =
errorData["responseMessage"] ?? "Something went wrong.";
// Show dialog with error details
Helper.messageDialog(
Get.context!,
responseCode,
responseMessage,
);
} else {
// Show generic error message if no response data is available
Helper.messageDialog(
Get.context!,
localization.translate("error"),
localization.translate("somethingWentWrong"),
);
}
} else {
// Show generic error message for non-Dio errors
Helper.messageDialog(
Get.context!,
localization.translate("error"),
error.toString(),
);
}
});
return status;
} catch (err, stacktrace) {
ConditionalLogs().customLog("$stacktrace");
Helper.close();
return false;
}
}