fix change default club:
Der Fix teilt die Operation in zwei Schritte: 1. Alle IsDefault auf false → SaveChanges 2. Neuen Default auf true → SaveChanges Das verhindert, dass EF Core temporär zwei IsDefault = true Einträge hat, was den Filtered Unique Index verletzen würde.
This commit is contained in:
parent
cd98df5a23
commit
7aa49f8271
|
|
@ -316,13 +316,18 @@ public class UserService : IUserService
|
||||||
// Update default club if specified
|
// Update default club if specified
|
||||||
if (dto.DefaultClubId.HasValue)
|
if (dto.DefaultClubId.HasValue)
|
||||||
{
|
{
|
||||||
var memberships = await _appDb.UserProfileClubs
|
// First: clear all defaults (to avoid unique index violation)
|
||||||
.Where(upc => upc.UserProfileId == profile.Id)
|
foreach (var m in profile.Clubs)
|
||||||
.ToListAsync(ct);
|
|
||||||
|
|
||||||
foreach (var m in memberships)
|
|
||||||
{
|
{
|
||||||
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -50,10 +50,13 @@
|
||||||
Filtern
|
Filtern
|
||||||
</MudButton>
|
</MudButton>
|
||||||
<MudSpacer />
|
<MudSpacer />
|
||||||
<MudButton Variant="Variant.Filled" Color="Color.Primary" StartIcon="@Icons.Material.Filled.Add"
|
@if (AuthState.Value.IsClubEditor || AuthState.Value.IsClubTreasurer || AuthState.Value.IsClubAdmin || AuthState.Value.IsSuperAdmin)
|
||||||
OnClick="OpenCreateDialog">
|
{
|
||||||
Neuer Spieltag
|
<MudButton Variant="Variant.Filled" Color="Color.Primary" StartIcon="@Icons.Material.Filled.Add"
|
||||||
</MudButton>
|
OnClick="OpenCreateDialog">
|
||||||
|
Neuer Spieltag
|
||||||
|
</MudButton>
|
||||||
|
}
|
||||||
</ToolBarContent>
|
</ToolBarContent>
|
||||||
<HeaderContent>
|
<HeaderContent>
|
||||||
<MudTh><MudTableSortLabel SortBy="new Func<DaySummaryDto, object>(x => x.PostDate)">Datum</MudTableSortLabel></MudTh>
|
<MudTh><MudTableSortLabel SortBy="new Func<DaySummaryDto, object>(x => x.PostDate)">Datum</MudTableSortLabel></MudTh>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue