Skip to content

Commit f318c01

Browse files
committed
dbg3
1 parent e1fe6d1 commit f318c01

File tree

3 files changed

+48
-44
lines changed

3 files changed

+48
-44
lines changed

Cite.Api/Cite.Api.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
22
<PropertyGroup>
3-
<Version>1.8.2-dbg2</Version>
3+
<Version>1.8.2-dbg3</Version>
44
<TargetFramework>net8.0</TargetFramework>
55
<DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
66
<NoWarn>CS1591</NoWarn>

Cite.Api/Services/EvaluationService.cs

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -505,41 +505,40 @@ private async Task VerifyOfficialAndTeamSubmissions(EvaluationEntity evaluation,
505505
// get a list of moves for the evaluation
506506
var moves = await _moveService.GetByEvaluationAsync(evaluation.Id, ct);
507507
// verify submissions exist for all moves
508-
foreach (var move in moves)
508+
// make sure all official and team submissions exist
509+
var moveNumber = evaluation.CurrentMoveNumber;
510+
if (!submissionList.Any(s => s.UserId == null && s.TeamId == null && s.MoveNumber == moveNumber))
509511
{
510-
// make sure all official and team submissions exist
511-
if (!submissionList.Any(s => s.UserId == null && s.TeamId == null && s.MoveNumber == move.MoveNumber))
512+
var submission = new Submission()
513+
{
514+
Id = Guid.NewGuid(),
515+
EvaluationId = evaluation.Id,
516+
TeamId = null,
517+
UserId = null,
518+
ScoringModelId = evaluation.ScoringModelId,
519+
MoveNumber = moveNumber,
520+
DateCreated = DateTime.UtcNow
521+
};
522+
_logger.LogDebug("Make Official submission for move " + moveNumber.ToString());
523+
await _submissionService.CreateNewSubmission(_context, submission, ct);
524+
}
525+
// team submissions
526+
foreach (var team in evaluationTeamList)
527+
{
528+
if (!submissionList.Any(s => s.UserId == null && s.TeamId == team.Id && s.MoveNumber == moveNumber))
512529
{
513530
var submission = new Submission() {
514531
Id = Guid.NewGuid(),
515532
EvaluationId = evaluation.Id,
516-
TeamId = null,
533+
TeamId = team.Id,
517534
UserId = null,
518535
ScoringModelId = evaluation.ScoringModelId,
519-
MoveNumber = move.MoveNumber,
536+
MoveNumber = moveNumber,
520537
DateCreated = DateTime.UtcNow
521538
};
522-
_logger.LogInformation("Make Official submission for move " + move.MoveNumber.ToString());
539+
_logger.LogDebug("Make Team submission for move " + moveNumber + " team=" + submission.TeamId.ToString());
523540
await _submissionService.CreateNewSubmission(_context, submission, ct);
524541
}
525-
// team submissions
526-
foreach (var team in evaluationTeamList)
527-
{
528-
if (!submissionList.Any(s => s.UserId == null && s.TeamId == team.Id && s.MoveNumber == move.MoveNumber))
529-
{
530-
var submission = new Submission() {
531-
Id = Guid.NewGuid(),
532-
EvaluationId = evaluation.Id,
533-
TeamId = team.Id,
534-
UserId = null,
535-
ScoringModelId = evaluation.ScoringModelId,
536-
MoveNumber = move.MoveNumber,
537-
DateCreated = DateTime.UtcNow
538-
};
539-
_logger.LogInformation("Make Team submission for move " + move.MoveNumber + " team=" + submission.TeamId.ToString());
540-
await _submissionService.CreateNewSubmission(_context, submission, ct);
541-
}
542-
}
543542
}
544543

545544
}

Cite.Api/Services/SubmissionService.cs

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -643,6 +643,7 @@ private async Task<SubmissionEntity> createRequestedSubmissionAndOthers(ViewMode
643643
(s.UserId == submission.UserId)))
644644
{
645645
submission.MoveNumber = move.MoveNumber;
646+
_logger.LogDebug("Creating new submission from createRequestedSubmissionAndOthers");
646647
await CreateNewSubmission(_context, submission, ct);
647648
}
648649
}
@@ -667,17 +668,17 @@ public async Task<SubmissionEntity> CreateNewSubmission(CiteContext citeContext,
667668
submissionEntity.Status = Data.Enumerations.ItemStatus.Active;
668669
submissionEntity.Evaluation = null;
669670
submissionEntity.ScoringModel = null;
670-
citeContext.Submissions.Add(submissionEntity);
671671
// catch race condition if we try to add the same submission twice
672672
try
673673
{
674-
await citeContext.SaveChangesAsync(ct);
675674
var scoringModelEntity = await citeContext.ScoringModels
676675
.Include(sm => sm.ScoringCategories)
677676
.ThenInclude(sc => sc.ScoringOptions)
678677
.FirstAsync(sm => sm.Id == submissionEntity.ScoringModelId);
679-
await CreateSubmissionCategories(submissionEntity, scoringModelEntity, ct);
680-
_logger.LogInformation("Created submission for move " + submission.MoveNumber.ToString());
678+
CreateSubmissionCategories(submissionEntity, scoringModelEntity, ct);
679+
citeContext.Submissions.Add(submissionEntity);
680+
await citeContext.SaveChangesAsync(ct);
681+
_logger.LogDebug("Created submission for move " + submission.MoveNumber.ToString());
681682

682683
return submissionEntity;
683684
}
@@ -915,33 +916,37 @@ public async Task<bool> DeleteAsync(Guid id, CancellationToken ct)
915916
return await GetAsync(submissionId, ct);
916917
}
917918

918-
private async Task<IEnumerable<SubmissionCategoryEntity>> CreateSubmissionCategories(
919+
private IEnumerable<SubmissionCategoryEntity> CreateSubmissionCategories(
919920
SubmissionEntity submissionEntity, ScoringModelEntity scoringModelEntity, CancellationToken ct)
920921
{
921922
foreach (var scoringCategoryEntity in scoringModelEntity.ScoringCategories)
922923
{
923-
var submissionCategoryEntity = new SubmissionCategoryEntity();
924-
submissionCategoryEntity.ScoringCategoryId = scoringCategoryEntity.Id;
925-
submissionCategoryEntity.SubmissionId = submissionEntity.Id;
926-
submissionCategoryEntity.Score = 0;
927-
_context.SubmissionCategories.Add(submissionCategoryEntity);
928-
await _context.SaveChangesAsync(ct);
929-
await CreateSubmissionOptions(submissionCategoryEntity, scoringCategoryEntity, ct);
924+
var submissionCategoryEntity = new SubmissionCategoryEntity()
925+
{
926+
Id = Guid.NewGuid(),
927+
ScoringCategoryId = scoringCategoryEntity.Id,
928+
SubmissionId = submissionEntity.Id,
929+
Score = 0,
930+
};
931+
CreateSubmissionOptions(submissionCategoryEntity, scoringCategoryEntity, ct);
932+
submissionEntity.SubmissionCategories.Add(submissionCategoryEntity);
930933
}
931934
return submissionEntity.SubmissionCategories;
932935
}
933936

934-
private async Task<IEnumerable<SubmissionOptionEntity>> CreateSubmissionOptions(
937+
private IEnumerable<SubmissionOptionEntity> CreateSubmissionOptions(
935938
SubmissionCategoryEntity submissionCategoryEntity, ScoringCategoryEntity scoringCategoryEntity, CancellationToken ct)
936939
{
937940
foreach (var scoringOptionEntity in scoringCategoryEntity.ScoringOptions)
938941
{
939-
var submissionOptionEntity = new SubmissionOptionEntity();
940-
submissionOptionEntity.ScoringOptionId = scoringOptionEntity.Id;
941-
submissionOptionEntity.SubmissionCategoryId = submissionCategoryEntity.Id;
942-
submissionOptionEntity.IsSelected = false;
943-
_context.SubmissionOptions.Add(submissionOptionEntity);
944-
await _context.SaveChangesAsync(ct);
942+
var submissionOptionEntity = new SubmissionOptionEntity()
943+
{
944+
Id = Guid.NewGuid(),
945+
ScoringOptionId = scoringOptionEntity.Id,
946+
SubmissionCategoryId = submissionCategoryEntity.Id,
947+
IsSelected = false
948+
};
949+
submissionCategoryEntity.SubmissionOptions.Add(submissionOptionEntity);
945950
}
946951
return submissionCategoryEntity.SubmissionOptions;
947952
}

0 commit comments

Comments
 (0)