Skip to content

Commit 1ef51ab

Browse files
Auldrin-Possakevwhitt-hee
authored andcommitted
TD-4878-Retrieved supervisor list based on Category ID
1 parent 00121d9 commit 1ef51ab

File tree

10 files changed

+2521
-2455
lines changed

10 files changed

+2521
-2455
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: 2483 additions & 2443 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
@@ -457,4 +457,10 @@
457457
<data name="TD-4950-dboGetOtherCentresForSelfAssessmentCreateOrAlter" type="System.Resources.ResXFileRef, System.Windows.Forms">
458458
<value>..\Resources\TD-4950-dboGetOtherCentresForSelfAssessmentCreateOrAlter.sql;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
459459
</data>
460+
<data name="TD_4878_Alter_GetActivitiesForDelegateEnrolment_Down" type="System.Resources.ResXFileRef, System.Windows.Forms">
461+
<value>..\Scripts\TD-4878-Alter_GetActivitiesForDelegateEnrolment_Down.sql;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-16</value>
462+
</data>
463+
<data name="TD_4878_Alter_GetActivitiesForDelegateEnrolment_Up" type="System.Resources.ResXFileRef, System.Windows.Forms">
464+
<value>..\Scripts\TD-4878-Alter_GetActivitiesForDelegateEnrolment_Up.sql;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-16</value>
465+
</data>
460466
</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
IEnumerable<SupervisorDelegateDetail> GetSupervisorDelegateDetailsForAdminIdWithoutRemovedClause(int adminId);
4040
SupervisorDelegateDetail GetSupervisorDelegateDetailsByIdWithoutRemoveClause(int supervisorDelegateId, int adminId, int delegateUserId);
4141
//UPDATE DATA
@@ -482,7 +482,7 @@ LEFT JOIN UserCentreDetails ucd
482482
}
483483
}
484484

485-
public IEnumerable<SupervisorForEnrolDelegate> GetSupervisorForEnrolDelegate(int CustomisationID, int CentreID)
485+
public IEnumerable<SupervisorForEnrolDelegate> GetSupervisorForEnrolDelegate(int CentreID, int CategoryID)
486486
{
487487
return connection.Query<SupervisorForEnrolDelegate>(
488488
$@"SELECT aa.ID AS AdminID,
@@ -493,14 +493,11 @@ FROM AdminAccounts AS aa INNER JOIN
493493
Centres AS c ON aa.CentreID = c.CentreID LEFT OUTER JOIN
494494
UserCentreDetails AS ucd ON u.ID = ucd.UserID AND c.CentreID = ucd.CentreID
495495
WHERE (aa.IsSupervisor = 1) AND (c.CentreID = @CentreID) AND
496-
(ISNULL(aa.CategoryID, 0) = 0 OR CategoryID =
497-
(SELECT aa.CategoryID FROM Applications AS a INNER JOIN
498-
Customisations AS c ON a.ApplicationID = c.ApplicationID
499-
WHERE (c.CustomisationID = @CustomisationID))) AND
496+
(ISNULL(aa.CategoryID, 0) = 0 OR aa.CategoryID = @CategoryID) AND
500497
(aa.Active = 1)
501498
GROUP BY aa.ID, u.LastName, u.FirstName, COALESCE(ucd.Email, u.PrimaryEmail), CentreName
502499
ORDER BY u.FirstName, u.LastName",
503-
new { CentreID, CustomisationID });
500+
new { CentreID, CategoryID });
504501
}
505502

506503
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: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,10 @@ 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
IEnumerable<SupervisorDelegateDetail> GetSupervisorDelegateDetailsForAdminIdWithoutRemovedClause(int adminId);
3737
SupervisorDelegateDetail GetSupervisorDelegateDetailsByIdWithoutRemoveClause(int supervisorDelegateId, int adminId, int delegateUserId);
38+
3839
//UPDATE DATA
3940
bool ConfirmSupervisorDelegateById(int supervisorDelegateId, int candidateId, int adminId);
4041
bool RemoveSupervisorDelegateById(int supervisorDelegateId, int delegateUserId, int adminId);
@@ -174,9 +175,9 @@ public IEnumerable<SupervisorDelegateDetail> GetSupervisorDelegateDetailsForAdmi
174175
return supervisorDataService.GetSupervisorDelegateDetailsForAdminId(adminId, adminIdCategoryID);
175176
}
176177

177-
public IEnumerable<SupervisorForEnrolDelegate> GetSupervisorForEnrolDelegate(int CustomisationID, int CentreID)
178+
public IEnumerable<SupervisorForEnrolDelegate> GetSupervisorForEnrolDelegate(int CentreID, int CategoryID)
178179
{
179-
return supervisorDataService.GetSupervisorForEnrolDelegate(CustomisationID, CentreID);
180+
return supervisorDataService.GetSupervisorForEnrolDelegate(CentreID, CategoryID);
180181
}
181182

182183
public SelfAssessmentSupervisorRole? GetSupervisorRoleById(int id)

0 commit comments

Comments
 (0)