diff --git a/DigitalLearningSolutions.Data.Migrations/202608122218_Alter_GetAssessmentResultByDelegate.cs b/DigitalLearningSolutions.Data.Migrations/202608122218_Alter_GetAssessmentResultByDelegate.cs
new file mode 100644
index 0000000000..983cd90861
--- /dev/null
+++ b/DigitalLearningSolutions.Data.Migrations/202608122218_Alter_GetAssessmentResultByDelegate.cs
@@ -0,0 +1,123 @@
+namespace DigitalLearningSolutions.Data.Migrations
+{
+ using FluentMigrator;
+ using FluentMigrator.SqlServer;
+
+ [Migration(202608122218)]
+ public class Alter_GetAssessmentResultByDelegate : Migration
+ {
+ public override void Up()
+ {
+ Create.Index("IX_SelfAssessmentResults_Assessment_Delegate_Question")
+ .OnTable("SelfAssessmentResults")
+ .OnColumn("SelfAssessmentID").Ascending()
+ .OnColumn("DelegateUserID").Ascending()
+ .OnColumn("CompetencyID").Ascending()
+ .OnColumn("AssessmentQuestionID").Ascending()
+ .WithOptions()
+ .NonClustered()
+ .Include("ID")
+ .Include("DateTime")
+ .Include("Result")
+ .Include("SupportingComments");
+
+ Create.Index("IX_CandidateAssessments_Active_Assessment_Delegate")
+ .OnTable("CandidateAssessments")
+ .OnColumn("SelfAssessmentID").Ascending()
+ .OnColumn("DelegateUserID").Ascending()
+ .WithOptions()
+ .NonClustered()
+ .Include("ID");
+
+ //Execute.Sql(@"CREATE NONCLUSTERED INDEX IX_CandidateAssessments_Active_Assessment_Delegate ON CandidateAssessments (SelfAssessmentID, DelegateUserID) INCLUDE (ID) WHERE RemovedDate IS NULL;");
+
+ Create.Index("IX_SelfAssessmentStructure_Assessment_Competency")
+ .OnTable("SelfAssessmentStructure")
+ .OnColumn("SelfAssessmentID").Ascending()
+ .OnColumn("CompetencyID").Ascending()
+ .WithOptions()
+ .NonClustered()
+ .Include("CompetencyGroupID")
+ .Include("Ordering")
+ .Include("Optional");
+
+ Create.Index("IX_CompetencyAssessmentQuestions_Competency_Question")
+ .OnTable("CompetencyAssessmentQuestions")
+ .OnColumn("CompetencyID").Ascending()
+ .OnColumn("AssessmentQuestionID").Ascending()
+ .WithOptions()
+ .NonClustered()
+ .Include("Ordering")
+ .Include("Required");
+
+ Create.Index("IX_CandidateAssessmentOptionalCompetencies_Lookup")
+ .OnTable("CandidateAssessmentOptionalCompetencies")
+ .OnColumn("CandidateAssessmentID").Ascending()
+ .OnColumn("CompetencyID").Ascending()
+ .OnColumn("CompetencyGroupID").Ascending()
+ .WithOptions()
+ .NonClustered()
+ .Include("IncludedInSelfAssessment");
+
+ Create.Index("IX_SelfAssessmentResultSupervisorVerifications_Result_Active")
+ .OnTable("SelfAssessmentResultSupervisorVerifications")
+ .OnColumn("SelfAssessmentResultId").Ascending()
+ .OnColumn("Superceded").Ascending()
+ .WithOptions()
+ .NonClustered()
+ .Include("ID")
+ .Include("Requested")
+ .Include("Verified")
+ .Include("Comments")
+ .Include("SignedOff")
+ .Include("CandidateAssessmentSupervisorID");
+
+ Create.Index("IX_CompetencyAssessmentQuestionRoleRequirements_ResultRag")
+ .OnTable("CompetencyAssessmentQuestionRoleRequirements")
+ .OnColumn("SelfAssessmentID").Ascending()
+ .OnColumn("CompetencyID").Ascending()
+ .OnColumn("AssessmentQuestionID").Ascending()
+ .OnColumn("LevelValue").Ascending()
+ .WithOptions()
+ .NonClustered()
+ .Include("LevelRAG");
+
+ Create.Index("IX_FrameworkCompetencies_Competency_Framework")
+ .OnTable("FrameworkCompetencies")
+ .OnColumn("CompetencyID").Ascending()
+ .OnColumn("FrameworkID").Ascending()
+ .WithOptions()
+ .NonClustered();
+
+ Execute.Sql(Properties.Resources.TD_7590_Alter_GetAssessmentResultByDelegate_Up);
+ }
+ public override void Down()
+ {
+ Delete.Index("IX_SelfAssessmentResults_Assessment_Delegate_Question")
+ .OnTable("SelfAssessmentResults");
+
+ Delete.Index("IX_CandidateAssessments_Active_Assessment_Delegate")
+ .OnTable("CandidateAssessments");
+
+ Delete.Index("IX_SelfAssessmentStructure_Assessment_Competency")
+ .OnTable("SelfAssessmentStructure");
+
+ Delete.Index("IX_CompetencyAssessmentQuestions_Competency_Question")
+ .OnTable("CompetencyAssessmentQuestions");
+
+ Delete.Index("IX_CandidateAssessmentOptionalCompetencies_Lookup")
+ .OnTable("CandidateAssessmentOptionalCompetencies");
+
+ Delete.Index("IX_SelfAssessmentResultSupervisorVerifications_Result_Active")
+ .OnTable("SelfAssessmentResultSupervisorVerifications");
+
+ Delete.Index("IX_CompetencyAssessmentQuestionRoleRequirements_ResultRag")
+ .OnTable("CompetencyAssessmentQuestionRoleRequirements");
+
+ Delete.Index("IX_FrameworkCompetencies_Competency_Framework")
+ .OnTable("FrameworkCompetencies");
+
+ Execute.Sql(Properties.Resources.TD_7590_Alter_GetAssessmentResultByDelegate_Down);
+ }
+ }
+}
diff --git a/DigitalLearningSolutions.Data.Migrations/Properties/Resources.Designer.cs b/DigitalLearningSolutions.Data.Migrations/Properties/Resources.Designer.cs
index 5fc3978857..31a8083e31 100644
--- a/DigitalLearningSolutions.Data.Migrations/Properties/Resources.Designer.cs
+++ b/DigitalLearningSolutions.Data.Migrations/Properties/Resources.Designer.cs
@@ -3057,6 +3057,52 @@ internal static string TD_7397_Alter_usp_GetSelfAssessmentReport_Up {
}
}
+ ///
+ /// Looks up a localized string similar to /****** Object: StoredProcedure [dbo].[GetNotificationsForAdminUser] Script Date: 03/08/2026 15:54:52 ******/
+ ///SET ANSI_NULLS ON
+ ///GO
+ ///
+ ///SET QUOTED_IDENTIFIER ON
+ ///GO
+ ///
+ ///
+ ///-- =============================================
+ ///-- Author: Kevin Whittaker
+ ///-- Create date: 04/09/2018
+ ///-- Description: Gets available notification and admin user subscription status.
+ ///-- =============================================
+ ///ALTER PROCEDURE [dbo].[GetNotificationsForAdminUser]
+ /// -- Add the parameters for the stored procedur [rest of string was truncated]";.
+ ///
+ internal static string TD_7590_Alter_GetAssessmentResultByDelegate_Down {
+ get {
+ return ResourceManager.GetString("TD_7590_Alter_GetAssessmentResultByDelegate_Down", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to /****** Object: StoredProcedure [dbo].[GetNotificationsForAdminUser] Script Date: 03/08/2026 15:54:52 ******/
+ ///SET ANSI_NULLS ON
+ ///GO
+ ///
+ ///SET QUOTED_IDENTIFIER ON
+ ///GO
+ ///
+ ///
+ ///-- =============================================
+ ///-- Author: Kevin Whittaker
+ ///-- Create date: 04/09/2018
+ ///-- Description: Gets available notification and admin user subscription status.
+ ///-- =============================================
+ ///ALTER PROCEDURE [dbo].[GetNotificationsForAdminUser]
+ /// -- Add the parameters for the stored procedur [rest of string was truncated]";.
+ ///
+ internal static string TD_7590_Alter_GetAssessmentResultByDelegate_Up {
+ get {
+ return ResourceManager.GetString("TD_7590_Alter_GetAssessmentResultByDelegate_Up", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to /****** Object: StoredProcedure [dbo].[GetNotificationsForAdminUser] Script Date: 03/08/2026 15:54:52 ******/
///SET ANSI_NULLS ON
diff --git a/DigitalLearningSolutions.Data.Migrations/Properties/Resources.resx b/DigitalLearningSolutions.Data.Migrations/Properties/Resources.resx
index c617c17b0c..8abc82d25e 100644
--- a/DigitalLearningSolutions.Data.Migrations/Properties/Resources.resx
+++ b/DigitalLearningSolutions.Data.Migrations/Properties/Resources.resx
@@ -559,6 +559,12 @@
..\Scripts\TD-7592-Alter_GetNotificationsForAdminUser_Up.sql;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-16
+
+ ..\Scripts\TD-7592-Alter_GetNotificationsForAdminUser_Down.sql;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-16
+
+
+ ..\Scripts\TD-7592-Alter_GetNotificationsForAdminUser_Up.sql;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-16
+
..\Scripts\TD-7640-Alter_usp_GetSelfAssessmentReport_Down.sql;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-16
@@ -571,4 +577,4 @@
..\Resources\TD_7598_Alter_GetCompletedCoursesForCandidate_Up.sql;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8
-
\ No newline at end of file
+
diff --git a/DigitalLearningSolutions.Data.Migrations/Scripts/TD-7590-Alter_GetAssessmentResultByDelegate_Down.sql b/DigitalLearningSolutions.Data.Migrations/Scripts/TD-7590-Alter_GetAssessmentResultByDelegate_Down.sql
new file mode 100644
index 0000000000..8b11ca3622
Binary files /dev/null and b/DigitalLearningSolutions.Data.Migrations/Scripts/TD-7590-Alter_GetAssessmentResultByDelegate_Down.sql differ
diff --git a/DigitalLearningSolutions.Data.Migrations/Scripts/TD-7590-Alter_GetAssessmentResultByDelegater_Up.sql b/DigitalLearningSolutions.Data.Migrations/Scripts/TD-7590-Alter_GetAssessmentResultByDelegater_Up.sql
new file mode 100644
index 0000000000..d47f2b3b89
Binary files /dev/null and b/DigitalLearningSolutions.Data.Migrations/Scripts/TD-7590-Alter_GetAssessmentResultByDelegater_Up.sql differ