Unfinalize everyone on suggestion linking changes

This commit is contained in:
2026-02-06 23:31:31 +01:00
parent 5895d66179
commit cfe7a24e12
7 changed files with 48 additions and 20 deletions

View File

@@ -152,14 +152,9 @@ public static class AdminEndpoints
await db.SaveChangesAsync();
var affectedPlayerIds = await db.Votes.Where(v => affectedIds.Contains(v.SuggestionId)).Select(v => v.PlayerId).Distinct().ToListAsync();
await db.Votes.Where(v => affectedIds.Contains(v.SuggestionId)).ExecuteDeleteAsync();
if (affectedPlayerIds.Count > 0)
{
await db.Players.Where(p => affectedPlayerIds.Contains(p.Id)).ExecuteUpdateAsync(p => p.SetProperty(x => x.VotesFinal, false));
}
await db.Players.ExecuteUpdateAsync(p => p.SetProperty(x => x.VotesFinal, false));
await tx.CommitAsync();
@@ -167,7 +162,7 @@ public static class AdminEndpoints
{
RootId = targetRoot,
LinkedSuggestionIds = affectedIds,
UnfinalizedPlayers = affectedPlayerIds.Count
UnfinalizedPlayers = await db.Players.CountAsync()
});
});
@@ -209,21 +204,16 @@ public static class AdminEndpoints
await db.SaveChangesAsync();
var affectedPlayerIds = await db.Votes.Where(v => groupIds.Contains(v.SuggestionId)).Select(v => v.PlayerId).Distinct().ToListAsync();
await db.Votes.Where(v => groupIds.Contains(v.SuggestionId)).ExecuteDeleteAsync();
if (affectedPlayerIds.Count > 0)
{
await db.Players.Where(p => affectedPlayerIds.Contains(p.Id)).ExecuteUpdateAsync(p => p.SetProperty(x => x.VotesFinal, false));
}
await db.Players.ExecuteUpdateAsync(p => p.SetProperty(x => x.VotesFinal, false));
await tx.CommitAsync();
return Results.Ok(new
{
UnlinkedSuggestionIds = groupIds,
UnfinalizedPlayers = affectedPlayerIds.Count
UnfinalizedPlayers = await db.Players.CountAsync()
});
});