deActivateAddOnsBulk method

Future<void> deActivateAddOnsBulk(
  1. List<AddonsFunDetails> items, {
  2. required VoidCallback onSuccess,
})

Bulk-deactivate a list of items in a single API call. onSuccess is called only if the request succeeds.

Implementation

Future<void> deActivateAddOnsBulk(
  List<AddonsFunDetails> items, {
  required VoidCallback onSuccess,
}) async {
  if (items.isEmpty) return;

  isLoading.value = true;
  try {
    final payload = {
      'tblAddonsFunDtlsTO':
          items.map((e) => e.copyWith(isActive: 0).toFullJson()).toList(),
    };
    final response = await apiService.postData(
      AppUrls.deActivateAddOnsDetails,
      data: payload,
    );
    if (response.statusCode == 200) {
      onSuccess();
      AppUtils.showSnackBar('Records deleted', title: 'Success');
    } else {
      print('Failed bulk delete: ${response.data}');
      AppUtils.showSnackBar('Failed to delete', title: 'Error');
    }
  } catch (e) {
    print('Failed bulk delete: $e');
    AppUtils.showSnackBar('Error: $e', title: 'Error');
  } finally {
    isLoading.value = false;
  }
}