Adds try/catch for Store changes

multistore
Laurent 2 years ago
parent cc06ee8ed5
commit 1769509024
  1. 7
      PadelClub/Views/Planning/PlanningSettingsView.swift
  2. 10
      PadelClub/Views/Planning/SchedulerView.swift
  3. 7
      PadelClub/Views/Tournament/FileImportView.swift
  4. 7
      PadelClub/Views/Tournament/Screen/Components/TournamentClubSettingsView.swift
  5. 7
      PadelClub/Views/Tournament/Screen/Components/TournamentGeneralSettingsView.swift
  6. 7
      PadelClub/Views/Tournament/Screen/Components/TournamentMatchFormatsSettingsView.swift
  7. 11
      PadelClub/Views/Tournament/Screen/Components/UpdateSourceRankDateView.swift
  8. 7
      PadelClub/Views/Tournament/Screen/InscriptionManagerView.swift
  9. 7
      PadelClub/Views/Tournament/TournamentView.swift

@ -6,6 +6,7 @@
// //
import SwiftUI import SwiftUI
import LeStorage
struct PlanningSettingsView: View { struct PlanningSettingsView: View {
@EnvironmentObject var dataStore: DataStore @EnvironmentObject var dataStore: DataStore
@ -216,7 +217,11 @@ struct PlanningSettingsView: View {
} }
private func _save() { private func _save() {
try? dataStore.tournaments.addOrUpdate(instance: tournament) do {
try dataStore.tournaments.addOrUpdate(instance: tournament)
} catch {
Logger.error(error)
}
} }
} }

@ -6,6 +6,7 @@
// //
import SwiftUI import SwiftUI
import LeStorage
extension GroupStage: Schedulable { extension GroupStage: Schedulable {
func titleLabel() -> String { func titleLabel() -> String {
@ -39,8 +40,13 @@ struct SchedulerView: View {
groupStages.forEach { groupStage in groupStages.forEach { groupStage in
groupStage.updateMatchFormat(tournament.groupStageMatchFormat) groupStage.updateMatchFormat(tournament.groupStageMatchFormat)
} }
try? dataStore.tournaments.addOrUpdate(instance: tournament) do {
try? dataStore.groupStages.addOrUpdate(contentOfs: groupStages) try dataStore.tournaments.addOrUpdate(instance: tournament)
try dataStore.groupStages.addOrUpdate(contentOfs: groupStages)
} catch {
Logger.error(error)
}
} }
ForEach(tournament.groupStages()) { ForEach(tournament.groupStages()) {

@ -7,6 +7,7 @@
import SwiftUI import SwiftUI
import TipKit import TipKit
import LeStorage
struct FileImportView: View { struct FileImportView: View {
@EnvironmentObject var dataStore: DataStore @EnvironmentObject var dataStore: DataStore
@ -294,7 +295,11 @@ struct FileImportView: View {
} }
private func _save() { private func _save() {
try? dataStore.tournaments.addOrUpdate(instance: tournament) do {
try dataStore.tournaments.addOrUpdate(instance: tournament)
} catch {
Logger.error(error)
}
} }
} }

@ -6,6 +6,7 @@
// //
import SwiftUI import SwiftUI
import LeStorage
struct TournamentClubSettingsView: View { struct TournamentClubSettingsView: View {
@Environment(Tournament.self) private var tournament: Tournament @Environment(Tournament.self) private var tournament: Tournament
@ -67,7 +68,11 @@ struct TournamentClubSettingsView: View {
} }
} }
.onChange(of: tournament.courtCount) { .onChange(of: tournament.courtCount) {
try? dataStore.tournaments.addOrUpdate(instance: tournament) do {
try dataStore.tournaments.addOrUpdate(instance: tournament)
} catch {
Logger.error(error)
}
} }
.navigationDestination(item: $selectedCourt) { court in .navigationDestination(item: $selectedCourt) { court in
CourtView(court: court) CourtView(court: court)

@ -6,6 +6,7 @@
// //
import SwiftUI import SwiftUI
import LeStorage
struct TournamentGeneralSettingsView: View { struct TournamentGeneralSettingsView: View {
@Environment(Tournament.self) private var tournament: Tournament @Environment(Tournament.self) private var tournament: Tournament
@ -103,7 +104,11 @@ struct TournamentGeneralSettingsView: View {
} }
private func _save() { private func _save() {
try? dataStore.tournaments.addOrUpdate(instance: tournament) do {
try dataStore.tournaments.addOrUpdate(instance: tournament)
} catch {
Logger.error(error)
}
} }
} }

@ -6,6 +6,7 @@
// //
import SwiftUI import SwiftUI
import LeStorage
struct TournamentMatchFormatsSettingsView: View { struct TournamentMatchFormatsSettingsView: View {
@Environment(NavigationViewModel.self) var navigation: NavigationViewModel @Environment(NavigationViewModel.self) var navigation: NavigationViewModel
@ -99,7 +100,11 @@ struct TournamentMatchFormatsSettingsView: View {
} }
private func _save() { private func _save() {
try? dataStore.tournaments.addOrUpdate(instance: tournament) do {
try dataStore.tournaments.addOrUpdate(instance: tournament)
} catch {
Logger.error(error)
}
} }
} }

@ -6,6 +6,7 @@
// //
import SwiftUI import SwiftUI
import LeStorage
struct UpdateSourceRankDateView: View { struct UpdateSourceRankDateView: View {
@EnvironmentObject var dataStore: DataStore @EnvironmentObject var dataStore: DataStore
@ -37,12 +38,12 @@ struct UpdateSourceRankDateView: View {
Task { Task {
do { do {
try await tournament.updateRank(to: currentRankSourceDate) try await tournament.updateRank(to: currentRankSourceDate)
await MainActor.run { try await MainActor.run {
tournament.unsortedPlayers().forEach { player in tournament.unsortedPlayers().forEach { player in
player.setWeight(in: tournament) player.setWeight(in: tournament)
} }
try? dataStore.playerRegistrations.addOrUpdate(contentOfs: tournament.unsortedPlayers()) try dataStore.playerRegistrations.addOrUpdate(contentOfs: tournament.unsortedPlayers())
tournament.unsortedTeams().forEach { team in tournament.unsortedTeams().forEach { team in
team.setWeight(from: team.players()) team.setWeight(from: team.players())
@ -51,15 +52,15 @@ struct UpdateSourceRankDateView: View {
} }
} }
try? dataStore.teamRegistrations.addOrUpdate(contentOfs: tournament.unsortedTeams()) try dataStore.teamRegistrations.addOrUpdate(contentOfs: tournament.unsortedTeams())
try? dataStore.tournaments.addOrUpdate(instance: tournament) try dataStore.tournaments.addOrUpdate(instance: tournament)
updatingRank = false updatingRank = false
confirmUpdateRank = false confirmUpdateRank = false
} }
} catch { } catch {
Logger.error(error)
} }
} }
}.disabled(updatingRank) }.disabled(updatingRank)

@ -7,6 +7,7 @@
import SwiftUI import SwiftUI
import TipKit import TipKit
import LeStorage
struct InscriptionManagerView: View { struct InscriptionManagerView: View {
@EnvironmentObject var dataStore: DataStore @EnvironmentObject var dataStore: DataStore
@ -804,7 +805,11 @@ struct InscriptionManagerView: View {
} }
private func _save() { private func _save() {
try? dataStore.tournaments.addOrUpdate(instance: tournament) do {
try dataStore.tournaments.addOrUpdate(instance: tournament)
} catch {
Logger.error(error)
}
} }
} }

@ -6,6 +6,7 @@
// //
import SwiftUI import SwiftUI
import LeStorage
struct TournamentView: View { struct TournamentView: View {
@EnvironmentObject var dataStore: DataStore @EnvironmentObject var dataStore: DataStore
@ -126,7 +127,11 @@ struct TournamentView: View {
} }
private func _save() { private func _save() {
try? dataStore.tournaments.addOrUpdate(instance: tournament) do {
try dataStore.tournaments.addOrUpdate(instance: tournament)
} catch {
Logger.error(error)
}
} }
} }

Loading…
Cancel
Save