@@ -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,23 +668,24 @@ 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
}
684
- catch ( System . Exception )
685
+ catch ( System . Exception ex )
685
686
{
686
- _logger . LogWarning ( "!!! Tried to create a duplicate submission" ) ;
687
+ var message = "!!! Error creating submission. " + ex . Message + " ===> " + ex . InnerException ? . Message ;
688
+ _logger . LogWarning ( message ) ;
687
689
return null ;
688
690
}
689
691
}
@@ -914,33 +916,37 @@ public async Task<bool> DeleteAsync(Guid id, CancellationToken ct)
914
916
return await GetAsync ( submissionId , ct ) ;
915
917
}
916
918
917
- private async Task < IEnumerable < SubmissionCategoryEntity > > CreateSubmissionCategories (
919
+ private IEnumerable < SubmissionCategoryEntity > CreateSubmissionCategories (
918
920
SubmissionEntity submissionEntity , ScoringModelEntity scoringModelEntity , CancellationToken ct )
919
921
{
920
922
foreach ( var scoringCategoryEntity in scoringModelEntity . ScoringCategories )
921
923
{
922
- var submissionCategoryEntity = new SubmissionCategoryEntity ( ) ;
923
- submissionCategoryEntity . ScoringCategoryId = scoringCategoryEntity . Id ;
924
- submissionCategoryEntity . SubmissionId = submissionEntity . Id ;
925
- submissionCategoryEntity . Score = 0 ;
926
- _context . SubmissionCategories . Add ( submissionCategoryEntity ) ;
927
- await _context . SaveChangesAsync ( ct ) ;
928
- 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 ) ;
929
933
}
930
934
return submissionEntity . SubmissionCategories ;
931
935
}
932
936
933
- private async Task < IEnumerable < SubmissionOptionEntity > > CreateSubmissionOptions (
937
+ private IEnumerable < SubmissionOptionEntity > CreateSubmissionOptions (
934
938
SubmissionCategoryEntity submissionCategoryEntity , ScoringCategoryEntity scoringCategoryEntity , CancellationToken ct )
935
939
{
936
940
foreach ( var scoringOptionEntity in scoringCategoryEntity . ScoringOptions )
937
941
{
938
- var submissionOptionEntity = new SubmissionOptionEntity ( ) ;
939
- submissionOptionEntity . ScoringOptionId = scoringOptionEntity . Id ;
940
- submissionOptionEntity . SubmissionCategoryId = submissionCategoryEntity . Id ;
941
- submissionOptionEntity . IsSelected = false ;
942
- _context . SubmissionOptions . Add ( submissionOptionEntity ) ;
943
- 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 ) ;
944
950
}
945
951
return submissionCategoryEntity . SubmissionOptions ;
946
952
}
0 commit comments