Skip to content

Commit 2cde4fc

Browse files
committed
Resets complete status of select frameworks task if a framework is removed
1 parent 9b86b6f commit 2cde4fc

File tree

3 files changed

+9
-8
lines changed

3 files changed

+9
-8
lines changed

DigitalLearningSolutions.Data/DataServices/CompetencyAssessmentDataService.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ int categoryId
5050
bool UpdateBrandingTaskStatus(int assessmentId, bool taskStatus);
5151
bool UpdateVocabularyTaskStatus(int assessmentId, bool taskStatus);
5252
bool UpdateRoleProfileLinksTaskStatus(int assessmentId, bool taskStatus);
53-
bool UpdateFrameworkLinksTaskStatus(int assessmentId, bool taskStatus);
53+
bool UpdateFrameworkLinksTaskStatus(int assessmentId, bool taskStatus, bool? previousStatus);
5454
bool RemoveSelfAssessmentFramework(int assessmentId, int frameworkId, int adminId);
5555
bool UpdateSelectCompetenciesTaskStatus(int assessmentId, bool taskStatus, bool? previousStatus);
5656
bool UpdateOptionalCompetenciesTaskStatus(int assessmentId, bool taskStatus, bool? previousStatus);
@@ -529,12 +529,12 @@ FROM SelfAssessmentFrameworks
529529
);
530530
}
531531

532-
public bool UpdateFrameworkLinksTaskStatus(int assessmentId, bool taskStatus)
532+
public bool UpdateFrameworkLinksTaskStatus(int assessmentId, bool taskStatus, bool? previousStatus)
533533
{
534534
var numberOfAffectedRows = connection.Execute(
535535
@"UPDATE SelfAssessmentTaskStatus SET FrameworkLinksTaskStatus = @taskStatus
536-
WHERE SelfAssessmentId = @assessmentId",
537-
new { assessmentId, taskStatus }
536+
WHERE SelfAssessmentId = @assessmentId AND (@previousStatus IS NULL OR FrameworkLinksTaskStatus = @previousStatus)",
537+
new { assessmentId, taskStatus, previousStatus }
538538
);
539539
if (numberOfAffectedRows < 1)
540540
{

DigitalLearningSolutions.Web/Controllers/CompetencyAssessmentsController/CompetencyAssessments.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -445,7 +445,7 @@ public IActionResult SelectFrameworkSources(SelectFrameworkSourcesFormData model
445445
}
446446
else
447447
{
448-
competencyAssessmentService.UpdateFrameworkLinksTaskStatus(model.CompetencyAssessmentId, model.TaskStatus ?? false);
448+
competencyAssessmentService.UpdateFrameworkLinksTaskStatus(model.CompetencyAssessmentId, model.TaskStatus ?? false, null);
449449
return RedirectToAction("ManageCompetencyAssessment", new { competencyAssessmentId = model.CompetencyAssessmentId });
450450
}
451451
}

DigitalLearningSolutions.Web/Services/CompetencyAssessmentService.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public interface ICompetencyAssessmentService
3939
bool UpdateCompetencyAssessmentVocabulary(int assessmentId, int adminId, string vocabulary);
4040
bool UpdateVocabularyTaskStatus(int assessmentId, bool taskStatus);
4141
bool UpdateRoleProfileLinksTaskStatus(int assessmentId, bool taskStatus);
42-
bool UpdateFrameworkLinksTaskStatus(int assessmentId, bool taskStatus);
42+
bool UpdateFrameworkLinksTaskStatus(int assessmentId, bool taskStatus, bool? previousStatus);
4343
bool UpdateSelectCompetenciesTaskStatus(int competencyAssessmentId, bool taskStatus, bool? previousStatus);
4444
bool UpdateOptionalCompetenciesTaskStatus(int assessmentId, bool taskStatus, bool? previousStatus);
4545
bool UpdateRoleRequirementsTaskStatus(int assessmentId, bool taskStatus, bool? previousStatus);
@@ -175,9 +175,9 @@ public bool InsertSelfAssessmentFramework(int adminId, int assessmentId, int fra
175175
return competencyAssessmentDataService.InsertSelfAssessmentFramework(adminId, assessmentId, frameworkId);
176176
}
177177

178-
public bool UpdateFrameworkLinksTaskStatus(int assessmentId, bool taskStatus)
178+
public bool UpdateFrameworkLinksTaskStatus(int assessmentId, bool taskStatus, bool? previousStatus)
179179
{
180-
return competencyAssessmentDataService.UpdateFrameworkLinksTaskStatus(assessmentId, taskStatus);
180+
return competencyAssessmentDataService.UpdateFrameworkLinksTaskStatus(assessmentId, taskStatus, previousStatus);
181181
}
182182

183183
public int? GetPrimaryLinkedFrameworkId(int assessmentId)
@@ -187,6 +187,7 @@ public bool UpdateFrameworkLinksTaskStatus(int assessmentId, bool taskStatus)
187187

188188
public bool RemoveSelfAssessmentFramework(int assessmentId, int frameworkId, int adminId)
189189
{
190+
UpdateFrameworkLinksTaskStatus(assessmentId, false, true);
190191
return competencyAssessmentDataService.RemoveSelfAssessmentFramework(assessmentId, frameworkId, adminId);
191192
}
192193

0 commit comments

Comments
 (0)