Skip to content

Commit 74ad8bd

Browse files
authored
Merge pull request #352 from TechnologyEnhancedLearning/Develop/Fixes/TD-3023-final
TD-3023 QuestionBlock wsi and draft published case file bugfix
2 parents 087cc98 + 6bb737d commit 74ad8bd

File tree

2 files changed

+44
-22
lines changed

2 files changed

+44
-22
lines changed

LearningHub.Nhs.WebUI/Controllers/Api/ContributeController.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -493,7 +493,7 @@ public async Task<ActionResult> SaveWeblinkDetailAsync([FromBody] WebLinkViewMod
493493
public async Task<ActionResult> SaveCaseDetailAsync([FromBody] CaseViewModel request)
494494
{
495495
var existingResourceState = await this.resourceService.GetResourceVersionExtendedAsync(request.ResourceVersionId);
496-
if (existingResourceState.CaseDetails?.BlockCollection != null)
496+
if (existingResourceState?.CaseDetails?.BlockCollection != null)
497497
{
498498
await this.RemoveBlockCollectionFiles(request.ResourceVersionId, existingResourceState.CaseDetails.BlockCollection, request.BlockCollection);
499499
}
@@ -903,7 +903,7 @@ private List<string> CheckQuestionBlock(BlockCollectionViewModel model)
903903
}
904904
}
905905

906-
return filePath;
906+
return filePath.Where(x => x != null).ToList();
907907
}
908908
}
909909
}

WebAPI/LearningHub.Nhs.Services/ResourceService.cs

Lines changed: 42 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1471,38 +1471,60 @@ public async Task<List<string>> GetObsoleteResourceFile(int resourceVersionId, b
14711471
}
14721472
}
14731473
}
1474-
else if (resource.ResourceTypeEnum == ResourceTypeEnum.Assessment)
1474+
else if (extendedResourceVersion.ResourceTypeEnum == ResourceTypeEnum.Assessment)
14751475
{
1476-
if (deletedResource)
1477-
{
1478-
if (resource.AssessmentDetails is { EndGuidance: { } } && resource.AssessmentDetails.EndGuidance.Blocks != null)
1476+
var endGuidanceFiles = new List<string>();
1477+
var assessmentContentFiles = new List<string>();
1478+
1479+
if (resource.AssessmentDetails is { EndGuidance: { } } && resource.AssessmentDetails.EndGuidance.Blocks != null)
14791480
{
1480-
var assessmentFiles = this.CheckBlockFile(extendedResourceVersion.AssessmentDetails.EndGuidance, resource.AssessmentDetails.EndGuidance);
1481-
if (assessmentFiles.Any())
1481+
if (deletedResource)
14821482
{
1483-
retVal.AddRange(assessmentFiles);
1483+
endGuidanceFiles = this.CheckBlockFile(extendedResourceVersion.AssessmentDetails.EndGuidance, resource.AssessmentDetails.EndGuidance);
1484+
}
1485+
else
1486+
{
1487+
endGuidanceFiles = this.CheckBlockFile(resource.AssessmentDetails.EndGuidance, extendedResourceVersion.AssessmentDetails.EndGuidance);
1488+
}
1489+
1490+
if (endGuidanceFiles.Any())
1491+
{
1492+
retVal.AddRange(endGuidanceFiles);
14841493
}
14851494
}
14861495

1487-
if (resource.AssessmentDetails is { AssessmentContent: { } } && resource.AssessmentDetails.AssessmentContent.Blocks != null)
1496+
if (resource.AssessmentDetails is { AssessmentContent: { } } && resource.AssessmentDetails.AssessmentContent.Blocks != null)
14881497
{
1489-
var assessmentFiles = this.CheckBlockFile(extendedResourceVersion.AssessmentDetails.AssessmentContent, resource.AssessmentDetails.AssessmentContent);
1490-
if (assessmentFiles.Any())
1498+
if (deletedResource)
14911499
{
1492-
retVal.AddRange(assessmentFiles);
1500+
assessmentContentFiles = this.CheckBlockFile(extendedResourceVersion.AssessmentDetails.AssessmentContent, resource.AssessmentDetails.AssessmentContent);
1501+
}
1502+
else
1503+
{
1504+
assessmentContentFiles = this.CheckBlockFile(resource.AssessmentDetails.AssessmentContent, extendedResourceVersion.AssessmentDetails.AssessmentContent);
1505+
}
1506+
1507+
if (assessmentContentFiles.Any())
1508+
{
1509+
retVal.AddRange(assessmentContentFiles);
14931510
}
14941511
}
1495-
}
14961512
}
1497-
else if (resource.ResourceTypeEnum == ResourceTypeEnum.Case)
1513+
else if (extendedResourceVersion.ResourceTypeEnum == ResourceTypeEnum.Case)
14981514
{
1515+
var caseFiles = new List<string>();
14991516
if (deletedResource)
15001517
{
1501-
var caseFiles = this.CheckBlockFile(extendedResourceVersion.CaseDetails.BlockCollection, resource.CaseDetails.BlockCollection);
1502-
if (caseFiles.Any())
1503-
{
1504-
retVal.AddRange(caseFiles);
1505-
}
1518+
caseFiles = this.CheckBlockFile(extendedResourceVersion.CaseDetails.BlockCollection, resource.CaseDetails.BlockCollection);
1519+
}
1520+
else
1521+
{
1522+
caseFiles = this.CheckBlockFile(resource.CaseDetails.BlockCollection, extendedResourceVersion.CaseDetails.BlockCollection);
1523+
}
1524+
1525+
if (caseFiles.Any())
1526+
{
1527+
retVal.AddRange(caseFiles);
15061528
}
15071529
}
15081530
}
@@ -4997,7 +5019,7 @@ private List<string> CheckBlockFile(BlockCollectionViewModel? publishedBlock, Bl
49975019
}
49985020
}
49995021

5000-
return retVal;
5022+
return retVal.Where(x => x != null).ToList();
50015023
}
50025024

50035025
private List<string> CheckQuestionBlock(BlockCollectionViewModel model)
@@ -5112,7 +5134,7 @@ private List<string> CheckQuestionBlock(BlockCollectionViewModel model)
51125134
}
51135135
}
51145136

5115-
return filePath;
5137+
return filePath.Where(x => x != null).ToList();
51165138
}
51175139
}
51185140
}

0 commit comments

Comments
 (0)