@@ -643,6 +643,7 @@ private async Task<SubmissionEntity> createRequestedSubmissionAndOthers(ViewMode
643
643
( s . UserId == submission . UserId ) ) )
644
644
{
645
645
submission . MoveNumber = move . MoveNumber ;
646
+ _logger . LogDebug ( "Creating new submission from createRequestedSubmissionAndOthers" ) ;
646
647
await CreateNewSubmission ( _context , submission , ct ) ;
647
648
}
648
649
}
@@ -667,17 +668,17 @@ public async Task<SubmissionEntity> CreateNewSubmission(CiteContext citeContext,
667
668
submissionEntity . Status = Data . Enumerations . ItemStatus . Active ;
668
669
submissionEntity . Evaluation = null ;
669
670
submissionEntity . ScoringModel = null ;
670
- citeContext . Submissions . Add ( submissionEntity ) ;
671
671
// catch race condition if we try to add the same submission twice
672
672
try
673
673
{
674
- await citeContext . SaveChangesAsync ( ct ) ;
675
674
var scoringModelEntity = await citeContext . ScoringModels
676
675
. Include ( sm => sm . ScoringCategories )
677
676
. ThenInclude ( sc => sc . ScoringOptions )
678
677
. 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 ( ) ) ;
681
682
682
683
return submissionEntity ;
683
684
}
@@ -915,33 +916,37 @@ public async Task<bool> DeleteAsync(Guid id, CancellationToken ct)
915
916
return await GetAsync ( submissionId , ct ) ;
916
917
}
917
918
918
- private async Task < IEnumerable < SubmissionCategoryEntity > > CreateSubmissionCategories (
919
+ private IEnumerable < SubmissionCategoryEntity > CreateSubmissionCategories (
919
920
SubmissionEntity submissionEntity , ScoringModelEntity scoringModelEntity , CancellationToken ct )
920
921
{
921
922
foreach ( var scoringCategoryEntity in scoringModelEntity . ScoringCategories )
922
923
{
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 ) ;
930
933
}
931
934
return submissionEntity . SubmissionCategories ;
932
935
}
933
936
934
- private async Task < IEnumerable < SubmissionOptionEntity > > CreateSubmissionOptions (
937
+ private IEnumerable < SubmissionOptionEntity > CreateSubmissionOptions (
935
938
SubmissionCategoryEntity submissionCategoryEntity , ScoringCategoryEntity scoringCategoryEntity , CancellationToken ct )
936
939
{
937
940
foreach ( var scoringOptionEntity in scoringCategoryEntity . ScoringOptions )
938
941
{
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 ) ;
945
950
}
946
951
return submissionCategoryEntity . SubmissionOptions ;
947
952
}
0 commit comments