Skip to content

Commit e3704bd

Browse files
committed
TD-4878-Retrieved supervisor list based on Category ID
1 parent de21044 commit e3704bd

File tree

10 files changed

+77
-12
lines changed

10 files changed

+77
-12
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+

2+
3+
namespace DigitalLearningSolutions.Data.Migrations
4+
{
5+
using FluentMigrator;
6+
7+
[Migration(202410231405)]
8+
public class Alter_GetActivitiesForDelegateEnrolment : Migration
9+
{
10+
public override void Up()
11+
{
12+
Execute.Sql(Properties.Resources.TD_4878_Alter_GetActivitiesForDelegateEnrolment_Up);
13+
}
14+
public override void Down()
15+
{
16+
Execute.Sql(Properties.Resources.TD_4878_Alter_GetActivitiesForDelegateEnrolment_Down);
17+
}
18+
}
19+
}

DigitalLearningSolutions.Data.Migrations/Properties/Resources.Designer.cs

Lines changed: 40 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

DigitalLearningSolutions.Data.Migrations/Properties/Resources.resx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -448,4 +448,10 @@
448448
<data name="TD_4634_Alter_GetCompletedCoursesForCandidate_UP" type="System.Resources.ResXFileRef, System.Windows.Forms">
449449
<value>..\Scripts\TD_4634_Alter_GetCompletedCoursesForCandidate_UP.sql;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-16</value>
450450
</data>
451+
<data name="TD_4878_Alter_GetActivitiesForDelegateEnrolment_Down" type="System.Resources.ResXFileRef, System.Windows.Forms">
452+
<value>..\Scripts\TD-4878-Alter_GetActivitiesForDelegateEnrolment_Down.sql;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-16</value>
453+
</data>
454+
<data name="TD_4878_Alter_GetActivitiesForDelegateEnrolment_Up" type="System.Resources.ResXFileRef, System.Windows.Forms">
455+
<value>..\Scripts\TD-4878-Alter_GetActivitiesForDelegateEnrolment_Up.sql;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-16</value>
456+
</data>
451457
</root>

DigitalLearningSolutions.Data/DataServices/SupervisorDataService.cs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public interface ISupervisorDataService
3535
CandidateAssessmentSupervisor? GetCandidateAssessmentSupervisor(int candidateAssessmentID, int supervisorDelegateId, int selfAssessmentSupervisorRoleId);
3636
SelfAssessmentResultSummary? GetSelfAssessmentResultSummary(int candidateAssessmentId, int supervisorDelegateId);
3737
IEnumerable<CandidateAssessmentSupervisorVerificationSummary> GetCandidateAssessmentSupervisorVerificationSummaries(int candidateAssessmentId);
38-
IEnumerable<SupervisorForEnrolDelegate> GetSupervisorForEnrolDelegate(int CustomisationID, int CentreID);
38+
IEnumerable<SupervisorForEnrolDelegate> GetSupervisorForEnrolDelegate(int CentreID, int CategoryID);
3939
//UPDATE DATA
4040
bool ConfirmSupervisorDelegateById(int supervisorDelegateId, int candidateId, int adminId);
4141
bool RemoveSupervisorDelegateById(int supervisorDelegateId, int delegateUserId, int adminId);
@@ -380,7 +380,7 @@ LEFT JOIN UserCentreDetails ucd
380380
}
381381
}
382382

383-
public IEnumerable<SupervisorForEnrolDelegate> GetSupervisorForEnrolDelegate(int CustomisationID, int CentreID)
383+
public IEnumerable<SupervisorForEnrolDelegate> GetSupervisorForEnrolDelegate(int CentreID, int CategoryID)
384384
{
385385
return connection.Query<SupervisorForEnrolDelegate>(
386386
$@"SELECT aa.ID AS AdminID,
@@ -391,14 +391,11 @@ FROM AdminAccounts AS aa INNER JOIN
391391
Centres AS c ON aa.CentreID = c.CentreID LEFT OUTER JOIN
392392
UserCentreDetails AS ucd ON u.ID = ucd.UserID AND c.CentreID = ucd.CentreID
393393
WHERE (aa.IsSupervisor = 1) AND (c.CentreID = @CentreID) AND
394-
(ISNULL(aa.CategoryID, 0) = 0 OR CategoryID =
395-
(SELECT aa.CategoryID FROM Applications AS a INNER JOIN
396-
Customisations AS c ON a.ApplicationID = c.ApplicationID
397-
WHERE (c.CustomisationID = @CustomisationID))) AND
394+
(ISNULL(aa.CategoryID, 0) = 0 OR aa.CategoryID = @CategoryID) AND
398395
(aa.Active = 1)
399396
GROUP BY aa.ID, u.LastName, u.FirstName, COALESCE(ucd.Email, u.PrimaryEmail), CentreName
400397
ORDER BY u.FirstName, u.LastName",
401-
new { CentreID, CustomisationID });
398+
new { CentreID, CategoryID });
402399
}
403400

404401
public bool ConfirmSupervisorDelegateById(int supervisorDelegateId, int delegateUserId, int adminId)

DigitalLearningSolutions.Data/Models/Courses/AvailableCourse.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public string? Topic
1717
}
1818
public int DelegateStatus { get; set; }
1919
public bool HideInLearnerPortal { get; set; }
20+
public int CategoryID { get; set; }
2021

2122
private string? category;
2223
private string? topic;

DigitalLearningSolutions.Data/Models/SessionData/Tracking/Delegate/Enrol/SessionEnrolDelegate.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,6 @@ public class SessionEnrolDelegate
1616
public string? SupervisorEmail { get; set; }
1717
public bool IsSelfAssessment { get; set; }
1818
public int AssessmentVersion { get; set; }
19+
public int? AssessmentCategoryID { get; set; }
1920
}
2021
}

DigitalLearningSolutions.Web/Controllers/TrackingSystem/Delegates/EnrolController.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ public IActionResult Index(int delegateId, EnrolCurrentLearningViewModel enrolCu
122122
sessionEnrol.IsSelfAssessment = selectedCourse.IsSelfAssessment;
123123
sessionEnrol.AssessmentVersion = selectedCourse.CurrentVersion.GetValueOrDefault();
124124
sessionEnrol.AssessmentName = selectedCourse.Name;
125+
sessionEnrol.AssessmentCategoryID = selectedCourse.CategoryID;
125126

126127
multiPageFormService.SetMultiPageFormData(
127128
sessionEnrol,
@@ -201,7 +202,7 @@ public IActionResult EnrolDelegateSupervisor(int delegateId)
201202
var sessionEnrol = multiPageFormService.GetMultiPageFormData<SessionEnrolDelegate>(
202203
MultiPageFormDataFeature.EnrolDelegateInActivity,
203204
TempData).GetAwaiter().GetResult();
204-
var supervisorList = supervisorService.GetSupervisorForEnrolDelegate(sessionEnrol.AssessmentID.GetValueOrDefault(), centreId.Value);
205+
var supervisorList = supervisorService.GetSupervisorForEnrolDelegate(centreId.Value, sessionEnrol.AssessmentCategoryID.Value);
205206
if (!sessionEnrol.IsSelfAssessment)
206207
{
207208
var model = new EnrolSupervisorViewModel(
@@ -233,7 +234,7 @@ public IActionResult EnrolDelegateSupervisor(int delegateId, EnrolSupervisorView
233234
{
234235
var centreId = GetCentreId();
235236
var sessionEnrol = multiPageFormService.GetMultiPageFormData<SessionEnrolDelegate>(MultiPageFormDataFeature.EnrolDelegateInActivity, TempData).GetAwaiter().GetResult();
236-
var supervisorList = supervisorService.GetSupervisorForEnrolDelegate(sessionEnrol.AssessmentID.Value, centreId.Value);
237+
var supervisorList = supervisorService.GetSupervisorForEnrolDelegate(centreId.Value, sessionEnrol.AssessmentCategoryID.Value);
237238
var roles = supervisorService.GetSupervisorRolesBySelfAssessmentIdForSupervisor(sessionEnrol.AssessmentID.GetValueOrDefault()).ToArray();
238239

239240
if (!ModelState.IsValid)

DigitalLearningSolutions.Web/Services/SupervisorService.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public interface ISupervisorService
3232
CandidateAssessmentSupervisor? GetCandidateAssessmentSupervisor(int candidateAssessmentID, int supervisorDelegateId, int selfAssessmentSupervisorRoleId);
3333
SelfAssessmentResultSummary? GetSelfAssessmentResultSummary(int candidateAssessmentId, int supervisorDelegateId);
3434
IEnumerable<CandidateAssessmentSupervisorVerificationSummary> GetCandidateAssessmentSupervisorVerificationSummaries(int candidateAssessmentId);
35-
IEnumerable<SupervisorForEnrolDelegate> GetSupervisorForEnrolDelegate(int CustomisationID, int CentreID);
35+
IEnumerable<SupervisorForEnrolDelegate> GetSupervisorForEnrolDelegate(int CentreID, int CategoryID);
3636
//UPDATE DATA
3737
bool ConfirmSupervisorDelegateById(int supervisorDelegateId, int candidateId, int adminId);
3838
bool RemoveSupervisorDelegateById(int supervisorDelegateId, int delegateUserId, int adminId);
@@ -172,9 +172,9 @@ public IEnumerable<SupervisorDelegateDetail> GetSupervisorDelegateDetailsForAdmi
172172
return supervisorDataService.GetSupervisorDelegateDetailsForAdminId(adminId);
173173
}
174174

175-
public IEnumerable<SupervisorForEnrolDelegate> GetSupervisorForEnrolDelegate(int CustomisationID, int CentreID)
175+
public IEnumerable<SupervisorForEnrolDelegate> GetSupervisorForEnrolDelegate(int CentreID, int CategoryID)
176176
{
177-
return supervisorDataService.GetSupervisorForEnrolDelegate(CustomisationID, CentreID);
177+
return supervisorDataService.GetSupervisorForEnrolDelegate(CentreID, CategoryID);
178178
}
179179

180180
public SelfAssessmentSupervisorRole? GetSupervisorRoleById(int id)

0 commit comments

Comments
 (0)