diff --git a/src/Koogle.Application/Services/UserService.cs b/src/Koogle.Application/Services/UserService.cs index c75f326..ac5d1a9 100644 --- a/src/Koogle.Application/Services/UserService.cs +++ b/src/Koogle.Application/Services/UserService.cs @@ -316,13 +316,18 @@ public class UserService : IUserService // Update default club if specified if (dto.DefaultClubId.HasValue) { - var memberships = await _appDb.UserProfileClubs - .Where(upc => upc.UserProfileId == profile.Id) - .ToListAsync(ct); - - foreach (var m in memberships) + // First: clear all defaults (to avoid unique index violation) + foreach (var m in profile.Clubs) { - m.IsDefault = m.ClubId == dto.DefaultClubId.Value; + m.IsDefault = false; + } + await _appDb.SaveChangesAsync(ct); + + // Then: set the new default + var newDefault = profile.Clubs.FirstOrDefault(m => m.ClubId == dto.DefaultClubId.Value); + if (newDefault != null) + { + newDefault.IsDefault = true; } } diff --git a/src/Koogle.Web/Components/Pages/Days/Days.razor b/src/Koogle.Web/Components/Pages/Days/Days.razor index fcdc7d1..f42e83d 100644 --- a/src/Koogle.Web/Components/Pages/Days/Days.razor +++ b/src/Koogle.Web/Components/Pages/Days/Days.razor @@ -50,10 +50,13 @@ Filtern - - Neuer Spieltag - + @if (AuthState.Value.IsClubEditor || AuthState.Value.IsClubTreasurer || AuthState.Value.IsClubAdmin || AuthState.Value.IsSuperAdmin) + { + + Neuer Spieltag + + } Datum