refactor: remove redundant notifyListeners in deleteBooking

pull/2839/head
harshyadavDeveloper 4 months ago
parent 56bf76f2f0
commit 14b57fb61b

@ -65,31 +65,27 @@ class HomeViewModel extends ChangeNotifier {
} }
Future<Result<void>> _deleteBooking(int id) async { Future<Result<void>> _deleteBooking(int id) async {
try { final resultDelete = await _bookingRepository.delete(id);
final resultDelete = await _bookingRepository.delete(id); switch (resultDelete) {
switch (resultDelete) { case Ok<void>():
case Ok<void>(): _log.fine('Deleted booking $id');
_log.fine('Deleted booking $id'); case Error<void>():
case Error<void>(): _log.warning('Failed to delete booking $id', resultDelete.error);
_log.warning('Failed to delete booking $id', resultDelete.error); return resultDelete;
return resultDelete; }
}
// After deleting the booking, we need to reload the bookings list.
// BookingRepository is the source of truth for bookings.
final resultLoadBookings = await _bookingRepository.getBookingsList();
switch (resultLoadBookings) {
case Ok<List<BookingSummary>>():
_bookings = resultLoadBookings.value;
_log.fine('Loaded bookings');
case Error<List<BookingSummary>>():
_log.warning('Failed to load bookings', resultLoadBookings.error);
return resultLoadBookings;
}
return resultLoadBookings; // After deleting the booking, reload the bookings list.
} finally { final resultLoadBookings = await _bookingRepository.getBookingsList();
notifyListeners(); switch (resultLoadBookings) {
case Ok<List<BookingSummary>>():
_bookings = resultLoadBookings.value;
_log.fine('Loaded bookings');
notifyListeners(); // notify only when data changes
case Error<List<BookingSummary>>():
_log.warning('Failed to load bookings', resultLoadBookings.error);
return resultLoadBookings;
} }
return resultLoadBookings;
} }
} }

Loading…
Cancel
Save