Skip to content

Commit f658f5d

Browse files
committed
Merge branch 'DLS-Release-v1.1.2' into UAT
2 parents 2b78f32 + 9ab2364 commit f658f5d

File tree

2 files changed

+34
-13
lines changed

2 files changed

+34
-13
lines changed

DigitalLearningSolutions.Data/DataServices/SelfAssessmentDataService/SelfAssessmentDataService.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ int GetSelfAssessmentActivityDelegatesExportCount(string searchString, string so
173173
bool IsCentreSelfAssessment(int selfAssessmentId, int centreId);
174174
bool HasMinimumOptionalCompetencies(int selfAssessmentId, int delegateUserId);
175175
int GetSelfAssessmentCategoryId(int selfAssessmentId);
176-
void RemoveReviewCandidateAssessmentOptionalCompetencies(int id);
176+
void RemoveReviewCandidateAssessmentOptionalCompetencies(int id);
177177
public IEnumerable<SelfAssessmentResult> GetSelfAssessmentResultswithSupervisorVerificationsForDelegateSelfAssessmentCompetency(
178178
int delegateUserId,
179179
int selfAssessmentId,
@@ -683,9 +683,6 @@ BEGIN TRANSACTION
683683
UPDATE CandidateAssessments SET RemovedDate = GETUTCDATE(), RemovalMethodID = 2
684684
WHERE ID = @candidateAssessmentsId AND RemovedDate IS NULL
685685
686-
UPDATE CandidateAssessmentSupervisors SET Removed = GETUTCDATE()
687-
WHERE CandidateAssessmentID = @candidateAssessmentsId AND Removed IS NULL
688-
689686
COMMIT TRANSACTION
690687
END TRY
691688
BEGIN CATCH

DigitalLearningSolutions.Data/DataServices/SupervisorDataService.cs

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -943,18 +943,45 @@ FROM CandidateAssessmentSupervisors
943943

944944
if (candidateAssessmentSupervisorsId == 0)
945945
{
946+
//For a candidate assessment, only one supervisor role should be active (Removed = null)
946947
var numberOfAffectedRows = connection.Execute(
947-
@"INSERT INTO CandidateAssessmentSupervisors (CandidateAssessmentID, SupervisorDelegateId, SelfAssessmentSupervisorRoleID)
948-
VALUES (@candidateAssessmentId, @supervisorDelegateId, @selfAssessmentSupervisorRoleId)", new { candidateAssessmentId, supervisorDelegateId, selfAssessmentSupervisorRoleId }
948+
@"BEGIN TRY
949+
BEGIN TRANSACTION
950+
UPDATE CandidateAssessmentSupervisors SET Removed = getUTCDate() WHERE CandidateAssessmentID = @candidateAssessmentId
951+
AND SupervisorDelegateId = @supervisorDelegateId
952+
AND Removed IS NULL
953+
954+
INSERT INTO CandidateAssessmentSupervisors (CandidateAssessmentID, SupervisorDelegateId, SelfAssessmentSupervisorRoleID)
955+
VALUES (@candidateAssessmentId, @supervisorDelegateId, @selfAssessmentSupervisorRoleId)
956+
957+
COMMIT TRANSACTION
958+
END TRY
959+
BEGIN CATCH
960+
ROLLBACK TRANSACTION
961+
END CATCH",
962+
new { candidateAssessmentId, supervisorDelegateId, selfAssessmentSupervisorRoleId }
949963
);
950964
}
951965
else
952966
{
967+
//For a candidate assessment, only one supervisor role should be active (Removed = null)
953968
int numberOfAffectedRows = connection.Execute(
954-
@"UPDATE CandidateAssessmentSupervisors SET Removed = NULL WHERE CandidateAssessmentID = @candidateAssessmentId
955-
AND SupervisorDelegateId = @supervisorDelegateId
956-
AND SelfAssessmentSupervisorRoleId=@selfAssessmentSupervisorRoleId",
957-
new { candidateAssessmentId, supervisorDelegateId, selfAssessmentSupervisorRoleId });
969+
@"BEGIN TRY
970+
BEGIN TRANSACTION
971+
UPDATE CandidateAssessmentSupervisors SET Removed = getUTCDate() WHERE CandidateAssessmentID = @candidateAssessmentId
972+
AND SupervisorDelegateId = @supervisorDelegateId
973+
AND Removed IS NULL
974+
975+
UPDATE CandidateAssessmentSupervisors SET Removed = NULL WHERE CandidateAssessmentID = @candidateAssessmentId
976+
AND SupervisorDelegateId = @supervisorDelegateId
977+
AND SelfAssessmentSupervisorRoleId = @selfAssessmentSupervisorRoleId
978+
979+
COMMIT TRANSACTION
980+
END TRY
981+
BEGIN CATCH
982+
ROLLBACK TRANSACTION
983+
END CATCH",
984+
new { candidateAssessmentId, supervisorDelegateId, selfAssessmentSupervisorRoleId });
958985
}
959986
}
960987
return candidateAssessmentId;
@@ -968,9 +995,6 @@ BEGIN TRANSACTION
968995
UPDATE CandidateAssessments SET RemovedDate = getUTCDate(), RemovalMethodID = 2
969996
WHERE ID = @candidateAssessmentId AND RemovedDate IS NULL
970997
971-
UPDATE CandidateAssessmentSupervisors SET Removed = getUTCDate()
972-
WHERE CandidateAssessmentID = @candidateAssessmentId AND Removed IS NULL
973-
974998
COMMIT TRANSACTION
975999
END TRY
9761000
BEGIN CATCH

0 commit comments

Comments
 (0)