Skip to content

Commit 89e8c41

Browse files
authored
Eliminate trying to save local time (#59)
1 parent c96f65b commit 89e8c41

File tree

3 files changed

+20
-13
lines changed

3 files changed

+20
-13
lines changed

Cite.Api/Cite.Api.csproj

Lines changed: 2 additions & 2 deletions
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.1</Version>
3+
<Version>1.8.2</Version>
44
<TargetFramework>net8.0</TargetFramework>
55
<DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
66
<NoWarn>CS1591</NoWarn>
@@ -51,4 +51,4 @@
5151
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
5252
</Content>
5353
</ItemGroup>
54-
</Project>
54+
</Project>

Cite.Api/Services/EvaluationService.cs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -403,17 +403,22 @@ public async Task<Evaluation> UploadJsonAsync(FileForm form, CancellationToken c
403403
}
404404
}
405405
// okay to update this evaluation
406+
await _context.Database.BeginTransactionAsync(ct);
406407
evaluation.CreatedBy = evaluationToUpdate.CreatedBy;
407408
evaluation.DateCreated = evaluationToUpdate.DateCreated;
408409
evaluation.ModifiedBy = _user.GetId();
409410
evaluation.DateModified = DateTime.UtcNow;
411+
evaluation.Submissions = [];
412+
evaluation.ScoringModel = null;
413+
evaluation.Teams = [];
414+
evaluation.Moves = [];
415+
evaluation.SituationTime = evaluation.SituationTime.ToUniversalTime();
410416
_mapper.Map(evaluation, evaluationToUpdate);
411-
412-
await VerifyOfficialAndTeamSubmissions(evaluationToUpdate, ct);
413417
_logger.LogDebug("Saving the Evaluation change");
414-
_context.Evaluations.Update(evaluationToUpdate);
415418
await _context.SaveChangesAsync(ct);
416-
419+
_logger.LogDebug("Verifying required submissions exist");
420+
await VerifyOfficialAndTeamSubmissions(evaluationToUpdate, ct);
421+
await _context.Database.CommitTransactionAsync(ct);
417422
evaluation = await GetAsync(evaluationToUpdate.Id, ct);
418423

419424
return evaluation;
@@ -531,7 +536,7 @@ private async Task VerifyOfficialAndTeamSubmissions(EvaluationEntity evaluation,
531536
UserId = null,
532537
ScoringModelId = evaluation.ScoringModelId,
533538
MoveNumber = move.MoveNumber,
534-
DateCreated = DateTime.UtcNow
539+
DateCreated = DateTime.UtcNow
535540
};
536541
_logger.LogInformation("Make Team submission for move " + move.MoveNumber + " team=" + submission.TeamId.ToString());
537542
await _submissionService.CreateNewSubmission(_context, submission, ct);

Cite.Api/Services/SubmissionService.cs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -658,13 +658,15 @@ private async Task<SubmissionEntity> createRequestedSubmissionAndOthers(ViewMode
658658
public async Task<SubmissionEntity> CreateNewSubmission(CiteContext citeContext, ViewModels.Submission submission, CancellationToken ct)
659659
{
660660
// actually create a new submission
661-
submission.Id = Guid.NewGuid();
662-
submission.DateCreated = DateTime.UtcNow;
663-
submission.CreatedBy = _user.GetId();
664-
submission.DateModified = null;
665-
submission.ModifiedBy = null;
666-
submission.Status = Data.Enumerations.ItemStatus.Active;
667661
var submissionEntity = _mapper.Map<SubmissionEntity>(submission);
662+
submissionEntity.Id = Guid.NewGuid();
663+
submissionEntity.DateCreated = DateTime.UtcNow;
664+
submissionEntity.CreatedBy = _user.GetId();
665+
submissionEntity.DateModified = null;
666+
submissionEntity.ModifiedBy = null;
667+
submissionEntity.Status = Data.Enumerations.ItemStatus.Active;
668+
submissionEntity.Evaluation = null;
669+
submissionEntity.ScoringModel = null;
668670
citeContext.Submissions.Add(submissionEntity);
669671
// catch race condition if we try to add the same submission twice
670672
try

0 commit comments

Comments
 (0)