diff --git a/DigitalLearningSolutions.Data/DataServices/SelfAssessmentDataService/SelfAssessmentDataService.cs b/DigitalLearningSolutions.Data/DataServices/SelfAssessmentDataService/SelfAssessmentDataService.cs index 1f3e4fc367..dcd7923df3 100644 --- a/DigitalLearningSolutions.Data/DataServices/SelfAssessmentDataService/SelfAssessmentDataService.cs +++ b/DigitalLearningSolutions.Data/DataServices/SelfAssessmentDataService/SelfAssessmentDataService.cs @@ -672,8 +672,19 @@ LEFT JOIN UserCentreDetails AS ucd WITH (NOLOCK) ON ucd.UserID = da.UserID AND u public void RemoveDelegateSelfAssessment(int candidateAssessmentsId) { connection.Execute( - @"UPDATE CandidateAssessments SET RemovedDate = GETUTCDATE(), RemovalMethodID =2 - WHERE ID = @candidateAssessmentsId", + @"BEGIN TRY + BEGIN TRANSACTION + UPDATE CandidateAssessments SET RemovedDate = GETUTCDATE(), RemovalMethodID = 2 + WHERE ID = @candidateAssessmentsId AND RemovedDate IS NULL + + UPDATE CandidateAssessmentSupervisors SET Removed = GETUTCDATE() + WHERE CandidateAssessmentID = @candidateAssessmentsId AND Removed IS NULL + + COMMIT TRANSACTION + END TRY + BEGIN CATCH + ROLLBACK TRANSACTION + END CATCH", new { candidateAssessmentsId } ); }