exportBookings method

Future<void> exportBookings()

Implementation

Future<void> exportBookings() async {
try {
  final now = DateTime.now();
  final formatter = DateFormat('yyyy-MM-dd');
  final toDate = formatter.format(now);
  final fromDate = formatter.format(now.subtract(Duration(days: 30)));
  final url =
      '/dashboard/accounting/bookings/export?fromDate=$fromDate&toDate=$toDate';
  final response = await Requests.getDio().get(url);

  if (response.statusCode == 200) {
    final csvContent = response.data;

    final blob = html.Blob([csvContent], 'text/csv');
    final url = html.Url.createObjectUrlFromBlob(blob);
    final anchor = html.AnchorElement(href: url)
      ..setAttribute("download", "bookings_export.csv")
      ..click();
    html.Url.revokeObjectUrl(url);

    log("CSV downloaded successfully.");
  } else {
    DefaultSnackbar.show("Error", "Error occurred");
  }
} catch (e) {
  print(e.toString());
  DefaultSnackbar.show("Error", "Error occurred");
}
}