diff --git a/PadelClub/Data/DataStore.swift b/PadelClub/Data/DataStore.swift index 9e21f9b..d0f910a 100644 --- a/PadelClub/Data/DataStore.swift +++ b/PadelClub/Data/DataStore.swift @@ -212,6 +212,16 @@ class DataStore: ObservableObject { } + func deleteTournament(_ tournament: Tournament) { + let event = tournament.eventObject() + let isLastTournament = event?.tournaments.count == 1 + self.tournaments.delete(instance: tournament) + if let event, isLastTournament { + self.events.delete(instance: event) + } + StoreCenter.main.destroyStore(identifier: tournament.id) + } + fileprivate func _localDisconnect() { StoreCenter.main.collectionsCanSynchronize = false diff --git a/PadelClub/Views/Navigation/Agenda/EventListView.swift b/PadelClub/Views/Navigation/Agenda/EventListView.swift index 56feb26..6998a05 100644 --- a/PadelClub/Views/Navigation/Agenda/EventListView.swift +++ b/PadelClub/Views/Navigation/Agenda/EventListView.swift @@ -285,16 +285,7 @@ struct EventListView: View { #if DEBUG .swipeActions(edge: .trailing, allowsFullSwipe: true) { Button(role: .destructive) { - do { - let event = tournament.eventObject() - let isLastTournament = event?.tournaments.count == 1 - try dataStore.tournaments.delete(instance: tournament) - if let event, isLastTournament { - try dataStore.events.delete(instance: event) - } - } catch { - Logger.error(error) - } + dataStore.deleteTournament(tournament) } label: { LabelDelete() }