Skip to content

Commit 9280495

Browse files
authored
Merge pull request #3018 from TechnologyEnhancedLearning/DLS-Release-v1.1.0
Dls release v1.1.0 to UAT
2 parents d8a2a7d + 7949fa8 commit 9280495

File tree

2 files changed

+40
-4
lines changed

2 files changed

+40
-4
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
namespace DigitalLearningSolutions.Data.Migrations
2+
{
3+
using FluentMigrator;
4+
5+
[Migration(202412020900)]
6+
public class UpdateCandidateAssessmentSupervisorsTable : ForwardOnlyMigration
7+
{
8+
public override void Up()
9+
{
10+
Execute.Sql($@"UPDATE cas
11+
SET SelfAssessmentSupervisorRoleID = (SELECT ID FROM SelfAssessmentSupervisorRoles
12+
WHERE SelfAssessmentID = ssr.SelfAssessmentID and AllowDelegateNomination = 1)
13+
FROM CandidateAssessmentSupervisors cas INNER JOIN
14+
SelfAssessmentSupervisorRoles ssr ON cas.SelfAssessmentSupervisorRoleID = ssr.ID
15+
AND cas.Removed IS NULL AND ssr.AllowDelegateNomination = 0 INNER JOIN
16+
SupervisorDelegates sd ON cas.SupervisorDelegateId = sd.ID INNER JOIN
17+
AdminAccounts aa ON sd.SupervisorAdminID = aa.ID
18+
WHERE aa.IsSupervisor = 0 AND aa.IsNominatedSupervisor = 1
19+
-- to exclude duplicate CandidateAssessmentID from update
20+
AND cas.CandidateAssessmentID NOT IN (
21+
SELECT CandidateAssessmentID FROM CandidateAssessmentSupervisors WHERE CandidateAssessmentID in (
22+
SELECT Cas2.CandidateAssessmentID
23+
FROM CandidateAssessmentSupervisors cas2 with (nolock) INNER JOIN
24+
SelfAssessmentSupervisorRoles ssr2 with (nolock) ON cas2.SelfAssessmentSupervisorRoleID = ssr2.ID
25+
AND cas2.Removed IS NULL AND ssr2.AllowDelegateNomination = 0 INNER JOIN
26+
SupervisorDelegates sd2 with (nolock) ON cas2.SupervisorDelegateId = sd2.ID INNER JOIN
27+
AdminAccounts aa2 with (nolock) ON sd2.SupervisorAdminID = aa2.ID
28+
WHERE aa2.IsSupervisor = 0 AND aa2.IsNominatedSupervisor = 1
29+
)
30+
GROUP BY CandidateAssessmentID,SupervisorDelegateId
31+
HAVING COUNT(*)>1
32+
)"
33+
);
34+
}
35+
}
36+
}

DigitalLearningSolutions.Data/DataServices/CourseDataService.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -542,7 +542,7 @@ LEFT OUTER JOIN UserCentreDetails AS UCD ON
542542
new { candidateAssessmentId, enrolmentMethodId, completeByDateDynamic }
543543
);
544544
}
545-
if (candidateAssessmentId > 1 && supervisorDelegateId !=0)
545+
if (candidateAssessmentId > 1 && supervisorDelegateId != 0)
546546
{
547547
string sqlQuery = $@"
548548
BEGIN TRANSACTION
@@ -551,17 +551,17 @@ BEGIN TRANSACTION
551551
552552
UPDATE CandidateAssessmentSupervisors SET Removed = NULL
553553
{((selfAssessmentSupervisorRoleId > 0) ? " ,SelfAssessmentSupervisorRoleID = @selfAssessmentSupervisorRoleID" : string.Empty)}
554-
WHERE CandidateAssessmentID = @candidateAssessmentId
554+
WHERE CandidateAssessmentID = @candidateAssessmentId AND SupervisorDelegateId = @supervisorDelegateId
555555
556556
COMMIT TRANSACTION";
557557

558558
connection.Execute(sqlQuery
559-
, new { candidateAssessmentId, selfAssessmentSupervisorRoleId, enrolmentMethodId, completeByDateDynamic });
559+
, new { candidateAssessmentId, selfAssessmentSupervisorRoleId, enrolmentMethodId, completeByDateDynamic, supervisorDelegateId });
560560
}
561561

562562
if (supervisorId > 0)
563563
{
564-
564+
565565
var adminUserId = Convert.ToInt32(connection.ExecuteScalar(@"SELECT UserID FROM AdminAccounts WHERE (AdminAccounts.ID = @supervisorId)",
566566
new { supervisorId })
567567
);

0 commit comments

Comments
 (0)