Skip to content

Commit 23576f2

Browse files
authored
Merge pull request #3149 from TechnologyEnhancedLearning/DLS-Release-v1.3.0
Dls release v1.3.0 to DEV
2 parents fb6db2b + d37970d commit 23576f2

File tree

121 files changed

+3399
-1983
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

121 files changed

+3399
-1983
lines changed
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
namespace DigitalLearningSolutions.Data.Migrations
2+
{
3+
using FluentMigrator;
4+
using FluentMigrator.SqlServer;
5+
[Migration(202501280929)]
6+
public class CreateCompetencyAssessmentTables : Migration
7+
{
8+
public override void Up()
9+
{
10+
Create.Table("SelfAssessmentFrameworks")
11+
.WithColumn("ID").AsInt32().NotNullable().PrimaryKey().Identity()
12+
.WithColumn("SelfAssessmentId").AsInt32().NotNullable().ForeignKey("SelfAssessments", "ID")
13+
.WithColumn("FrameworkId").AsInt32().NotNullable().ForeignKey("Frameworks", "ID")
14+
.WithColumn("CreatedDate").AsDateTime().NotNullable().WithDefault(SystemMethods.CurrentDateTime)
15+
.WithColumn("CreatedByAdminId").AsInt32().NotNullable().ForeignKey("AdminAccounts", "ID")
16+
.WithColumn("RemovedDate").AsDateTime().Nullable()
17+
.WithColumn("RemovedByAdminId").AsInt32().Nullable().ForeignKey("AdminAccounts", "ID")
18+
.WithColumn("AmendedDate").AsDateTime().Nullable()
19+
.WithColumn("AmendedByAdminId").AsInt32().Nullable().ForeignKey("AdminAccounts", "ID");
20+
Create.Table("SelfAssessmentTaskStatus")
21+
.WithColumn("ID").AsInt32().NotNullable().PrimaryKey().Identity()
22+
.WithColumn("SelfAssessmentId").AsInt32().NotNullable().ForeignKey("SelfAssessments", "ID").Unique()
23+
.WithColumn("IntroductoryTextTaskStatus").AsBoolean().Nullable()
24+
.WithColumn("BrandingTaskStatus").AsBoolean().Nullable()
25+
.WithColumn("VocabularyTaskStatus").AsBoolean().Nullable()
26+
.WithColumn("WorkingGroupTaskStatus").AsBoolean().Nullable()
27+
.WithColumn("NationalRoleProfileTaskStatus").AsBoolean().Nullable()
28+
.WithColumn("FrameworkLinksTaskStatus").AsBoolean().Nullable()
29+
.WithColumn("SelectCompetenciesTaskStatus").AsBoolean().Nullable()
30+
.WithColumn("OptionalCompetenciesTaskStatus").AsBoolean().Nullable()
31+
.WithColumn("RoleRequirementsTaskStatus").AsBoolean().Nullable()
32+
.WithColumn("SupervisorRolesTaskStatus").AsBoolean().Nullable()
33+
.WithColumn("SelfAssessmentOptionsTaskStatus").AsBoolean().Nullable()
34+
.WithColumn("ReviewTaskStatus").AsBoolean().Nullable();
35+
Alter.Table("SelfAssessments").AlterColumn("Description").AsString(int.MaxValue).Nullable();
36+
Execute.Sql($@"INSERT INTO SelfAssessmentFrameworks (SelfAssessmentId, FrameworkId, CreatedByAdminId)
37+
SELECT sa.ID, fc.FrameworkID, sa.CreatedByAdminID
38+
FROM SelfAssessments AS sa INNER JOIN
39+
SelfAssessmentStructure AS sas ON sa.ID = sas.SelfAssessmentID INNER JOIN
40+
FrameworkCompetencies AS fc ON sas.CompetencyID = fc.CompetencyID
41+
GROUP BY sa.ID, fc.FrameworkID, sa.CreatedByAdminID
42+
");
43+
Execute.Sql($@"INSERT INTO SelfAssessmentTaskStatus (SelfAssessmentId, IntroductoryTextTaskStatus, BrandingTaskStatus, VocabularyTaskStatus, WorkingGroupTaskStatus, NationalRoleProfileTaskStatus, FrameworkLinksTaskStatus, SelectCompetenciesTaskStatus, OptionalCompetenciesTaskStatus, RoleRequirementsTaskStatus, SupervisorRolesTaskStatus, SelfAssessmentOptionsTaskStatus)
44+
SELECT ID, 1,1,1,1,1,1,1,1,1,1,1
45+
FROM SelfAssessments AS sa
46+
");
47+
}
48+
49+
public override void Down()
50+
{
51+
Delete.Table("SelfAssessmentFrameworks");
52+
Delete.Table("SelfAssessmentTaskStatus");
53+
Alter.Table("SelfAssessments").AlterColumn("Description").AsString(int.MaxValue).NotNullable();
54+
}
55+
56+
}
57+
}

DigitalLearningSolutions.Data/DataServices/CompetencyAssessmentDataService.cs

Lines changed: 463 additions & 0 deletions
Large diffs are not rendered by default.

DigitalLearningSolutions.Data/DataServices/CourseCategoriesDataService.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
public interface ICourseCategoriesDataService
1010
{
1111
IEnumerable<Category> GetCategoriesForCentreAndCentrallyManagedCourses(int centreId);
12-
string? GetCourseCategoryName(int categoryId);
12+
string? GetCourseCategoryName(int? categoryId);
1313
}
1414

1515
public class CourseCategoriesDataService : ICourseCategoriesDataService
@@ -34,7 +34,7 @@ FROM CourseCategories
3434
);
3535
}
3636

37-
public string? GetCourseCategoryName(int categoryId)
37+
public string? GetCourseCategoryName(int? categoryId)
3838
{
3939
var name = connection.QueryFirstOrDefault<string?>(
4040
@"SELECT CategoryName

DigitalLearningSolutions.Data/DataServices/CourseDataService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -551,7 +551,7 @@ BEGIN TRANSACTION
551551
552552
UPDATE CandidateAssessmentSupervisors SET Removed = NULL
553553
{((selfAssessmentSupervisorRoleId > 0) ? " ,SelfAssessmentSupervisorRoleID = @selfAssessmentSupervisorRoleID" : string.Empty)}
554-
WHERE CandidateAssessmentID = @candidateAssessmentId AND SupervisorDelegateId = @supervisorDelegateId
554+
WHERE CandidateAssessmentID = @candidateAssessmentId AND SupervisorDelegateId = @supervisorDelegateId AND SelfAssessmentSupervisorRoleID = @selfAssessmentSupervisorRoleID
555555
556556
COMMIT TRANSACTION";
557557

DigitalLearningSolutions.Data/DataServices/FrameworkDataService.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ public class FrameworkDataService : IFrameworkDataService
285285
fwr.ID AS FrameworkReviewID";
286286

287287
private const string BrandedFrameworkFields =
288-
@",(SELECT BrandName
288+
@", FW.Description, FW.FrameworkConfig AS Vocabulary, (SELECT BrandName
289289
FROM Brands
290290
WHERE (BrandID = FW.BrandID)) AS Brand,
291291
(SELECT CategoryName
@@ -581,7 +581,7 @@ OUTPUT INSERTED.Id
581581
VALUES (@groupName, @groupDescription, @adminId)",
582582
new { groupName, groupDescription, adminId }
583583
);
584-
584+
585585
return existingId;
586586
}
587587

@@ -613,7 +613,7 @@ FROM [FrameworkCompetencyGroups]
613613
WHERE ([FrameworkID] = @frameworkId)), 0)+1, @frameworkId)",
614614
new { groupId, adminId, frameworkId }
615615
);
616-
616+
617617
return existingId;
618618
}
619619

@@ -1047,7 +1047,7 @@ public void UpdateFrameworkCompetency(int frameworkCompetencyId, string name, st
10471047
@"UPDATE Competencies SET Name = @name, Description = @description, UpdatedByAdminID = @adminId, AlwaysShowDescription = CASE WHEN @alwaysShowDescription IS NULL THEN AlwaysShowDescription ELSE @alwaysShowDescription END
10481048
FROM Competencies INNER JOIN FrameworkCompetencies AS fc ON Competencies.ID = fc.CompetencyID
10491049
WHERE (fc.Id = @frameworkCompetencyId)",
1050-
new { name, description, adminId, frameworkCompetencyId, alwaysShowDescription}
1050+
new { name, description, adminId, frameworkCompetencyId, alwaysShowDescription }
10511051
);
10521052
if (numberOfAffectedRows < 1)
10531053
{
@@ -2175,15 +2175,15 @@ public void ArchiveReviewRequest(int reviewId)
21752175
FROM FrameworkCollaborators
21762176
WHERE (FrameworkID = FW.ID) AND (IsDeleted=0)))) AS MyFrameworksCount,
21772177
2178-
(SELECT COUNT(*) FROM SelfAssessments) AS RoleProfileCount,
2178+
(SELECT COUNT(*) FROM SelfAssessments) AS CompetencyAssessmentCount,
21792179
21802180
(SELECT COUNT(*) FROM SelfAssessments AS RP LEFT OUTER JOIN
21812181
SelfAssessmentCollaborators AS RPC ON RPC.SelfAssessmentID = RP.ID AND RPC.AdminID = @adminId
21822182
WHERE (RP.CreatedByAdminID = @adminId) OR
21832183
(@adminId IN
21842184
(SELECT AdminID
21852185
FROM SelfAssessmentCollaborators
2186-
WHERE (SelfAssessmentID = RP.ID)))) AS MyRoleProfileCount",
2186+
WHERE (SelfAssessmentID = RP.ID)))) AS MyCompetencyAssessmentCount",
21872187
new { adminId }
21882188
).FirstOrDefault();
21892189
}
@@ -2193,7 +2193,7 @@ public IEnumerable<DashboardToDoItem> GetDashboardToDoItems(int adminId)
21932193
return connection.Query<DashboardToDoItem>(
21942194
@"SELECT
21952195
FW.ID AS FrameworkID,
2196-
0 AS RoleProfileID,
2196+
0 AS SelfAssessmentID,
21972197
FW.FrameworkName AS ItemName,
21982198
AU.Forename + ' ' + AU.Surname + (CASE WHEN AU.Active = 1 THEN '' ELSE ' (Inactive)' END) AS RequestorName,
21992199
FWR.SignOffRequired,
@@ -2205,8 +2205,8 @@ FROM FrameworkReviews AS FWR
22052205
WHERE (FWC.AdminID = @adminId) AND (FWR.ReviewComplete IS NULL) AND (FWR.Archived IS NULL)
22062206
UNION ALL
22072207
SELECT
2208-
0 AS SelfAssessmentID,
2209-
RP.ID AS SelfAssessmentID,
2208+
0 AS FrameworkID,
2209+
RP.ID AS CompetencyAssessmentID,
22102210
RP.Name AS ItemName,
22112211
AU.Forename + ' ' + AU.Surname + (CASE WHEN AU.Active = 1 THEN '' ELSE ' (Inactive)' END) AS RequestorName,
22122212
RPR.SignOffRequired,

DigitalLearningSolutions.Data/DataServices/RoleProfileDataService.cs

Lines changed: 0 additions & 197 deletions
This file was deleted.

DigitalLearningSolutions.Data/DataServices/SelfAssessmentDataService/CandidateAssessmentsDataService.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,13 @@ INNER JOIN CompetencyGroups AS CG
298298
}
299299
}
300300

301+
public void RemoveSignoffRequestById(int candidateAssessmentSupervisorVerificationsId)
302+
{
303+
var numberOfAffectedRows = connection.Execute(
304+
@" DELETE FROM CandidateAssessmentSupervisorVerifications WHERE ID = @candidateAssessmentSupervisorVerificationsId ",
305+
new { candidateAssessmentSupervisorVerificationsId });
306+
}
307+
301308

302309
public void SetCompleteByDate(int selfAssessmentId, int delegateUserId, DateTime? completeByDate)
303310
{

DigitalLearningSolutions.Data/DataServices/SelfAssessmentDataService/CompetencyDataService.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -635,16 +635,14 @@ FROM SelfAssessmentResults s inner join
635635
SelfAssessmentResultSupervisorVerifications sv ON s.ID = sv.SelfAssessmentResultId AND sv.Superceded = 0
636636
WHERE s.CompetencyID = @competencyId
637637
AND s.SelfAssessmentID = @selfAssessmentId
638-
AND s.DelegateUserID = @delegateUserId",
638+
AND s.DelegateUserID = @delegateUserId AND sv.Verified IS NULL",
639639
new { selfAssessmentId, delegateUserId, competencyId }
640640
);
641641
}
642642

643643
public void RemoveReviewCandidateAssessmentOptionalCompetencies(int id)
644644
{
645645

646-
connection.Execute(@"UPDATE SelfAssessmentResults SET Result = NULL WHERE ID = @id", new { id});
647-
648646
connection.Execute(
649647
@"delete from SelfAssessmentResultSupervisorVerifications WHERE SelfAssessmentResultId = @id", new { id });
650648

0 commit comments

Comments
 (0)