exportSeletedOrders method

void exportSeletedOrders(
  1. BuildContext context,
  2. List<OrderData> order
)

Implementation

void exportSeletedOrders(BuildContext context, List<OrderData> order) async {
  final List<String> exportSelectedIds = [];
  exportSelectedIds.clear();
  for (var item in order) {
    exportSelectedIds.add(item.id!.toString());
  }
  try {
    isLoading(true);
    isBottomLoading(true);
    var request = {
      'merchant_id': Storage.getValue(Constants.merchantID),
      'api_key': await Constants.apiKey(),
      'order_ids': exportSelectedIds
    };
    var response = await DioClient().request(
        context: context,
        api: '/merchant/orders/export',
        method: Method.FORM,
        payloadObj: request);

    Map<String, dynamic> respJson = Map<String, dynamic>.from(response);
    final String status = respJson['status'] as String;
    final String message = respJson['message'] as String;

    if (status == Strings.success) {
      Utils.showSnackbar(context, status.toString().toTitleCase(),
          message.toString().toTitleCase(), AppColors.green);
    } else {
      isError(true);
      errorMessage.value = response['message'].toString().toTitleCase();
      Utils.showSnackbar(context, Strings.error,
          message.toString().toTitleCase(), AppColors.red);
    }
  } catch (e) {
    return Utils.showSnackbar(
        context, Strings.error, e.toString().toTitleCase(), AppColors.red);
  } finally {
    exportData.clear();
    paymentIds.clear();
    totalOrdersSelected = 0.obs;
    isExportSelector = false.obs;
    isLoading(false);
    isBottomLoading(false);
  }
}