|
8 | 8 |
|
9 | 9 | public partial class SelfAssessmentDataService |
10 | 10 | { |
| 11 | + public IEnumerable<CurrentSelfAssessment> GetSelfAssessmentsForCandidate(int delegateUserId, int centreId, int? adminIdCategoryID) |
| 12 | + { |
| 13 | + return connection.Query<CurrentSelfAssessment>( |
| 14 | + @"SELECT SelfAssessment.Id, |
| 15 | + SelfAssessment.Name, |
| 16 | + SelfAssessment.Description, |
| 17 | + SelfAssessment.IncludesSignposting, |
| 18 | + SelfAssessment.IncludeRequirementsFilters, |
| 19 | + SelfAssessment. IsSupervisorResultsReviewed, |
| 20 | + SelfAssessment.ReviewerCommentsLabel, |
| 21 | + SelfAssessment. Vocabulary, |
| 22 | + SelfAssessment. NumberOfCompetencies, |
| 23 | + SelfAssessment.StartedDate, |
| 24 | + SelfAssessment.LastAccessed, |
| 25 | + SelfAssessment.CompleteByDate, |
| 26 | + SelfAssessment.CandidateAssessmentId, |
| 27 | + SelfAssessment.UserBookmark, |
| 28 | + SelfAssessment.UnprocessedUpdates, |
| 29 | + SelfAssessment.LaunchCount, |
| 30 | + SelfAssessment. IsSelfAssessment, |
| 31 | + SelfAssessment.SubmittedDate, |
| 32 | + SelfAssessment. CentreName, |
| 33 | + SelfAssessment.EnrolmentMethodId, |
| 34 | + Signoff.SignedOff, |
| 35 | + Signoff.Verified, |
| 36 | + EnrolledByForename +' '+EnrolledBySurname AS EnrolledByFullName |
| 37 | + FROM (SELECT |
| 38 | + CA.SelfAssessmentID AS Id, |
| 39 | + SA.Name, |
| 40 | + SA.Description, |
| 41 | + SA.IncludesSignposting, |
| 42 | + SA.IncludeRequirementsFilters, |
| 43 | + SA.SupervisorResultsReview AS IsSupervisorResultsReviewed, |
| 44 | + SA.ReviewerCommentsLabel, |
| 45 | + COALESCE(SA.Vocabulary, 'Capability') AS Vocabulary, |
| 46 | + COUNT(C.ID) AS NumberOfCompetencies, |
| 47 | + CA.StartedDate, |
| 48 | + CA.LastAccessed, |
| 49 | + CA.CompleteByDate, |
| 50 | + CA.ID AS CandidateAssessmentId, |
| 51 | + CA.UserBookmark, |
| 52 | + CA.UnprocessedUpdates, |
| 53 | + CA.LaunchCount, |
| 54 | + 1 AS IsSelfAssessment, |
| 55 | + CA.SubmittedDate, |
| 56 | + CR.CentreName AS CentreName, |
| 57 | + CA.EnrolmentMethodId, |
| 58 | + uEnrolledBy.FirstName AS EnrolledByForename, |
| 59 | + uEnrolledBy.LastName AS EnrolledBySurname |
| 60 | + FROM Centres AS CR INNER JOIN |
| 61 | + CandidateAssessments AS CA INNER JOIN |
| 62 | + SelfAssessments AS SA ON CA.SelfAssessmentID = SA.ID ON CR.CentreID = CA.CentreID INNER JOIN |
| 63 | + CentreSelfAssessments AS csa ON csa.SelfAssessmentID = SA.ID AND csa.CentreID = @centreId LEFT OUTER JOIN |
| 64 | + Competencies AS C RIGHT OUTER JOIN |
| 65 | + SelfAssessmentStructure AS SAS ON C.ID = SAS.CompetencyID ON CA.SelfAssessmentID = SAS.SelfAssessmentID LEFT OUTER JOIN |
| 66 | + CandidateAssessmentSupervisors AS cas ON ca.ID =cas.CandidateAssessmentID LEFT OUTER JOIN |
| 67 | + CandidateAssessmentSupervisorVerifications AS casv ON casv.CandidateAssessmentSupervisorID = cas.ID LEFT OUTER JOIN |
| 68 | + AdminAccounts AS aaEnrolledBy ON aaEnrolledBy.ID = CA.EnrolledByAdminID LEFT OUTER JOIN |
| 69 | + Users AS uEnrolledBy ON uEnrolledBy.ID = aaEnrolledBy.UserID |
| 70 | + WHERE (CA.DelegateUserID = @delegateUserId) AND (CA.RemovedDate IS NULL) AND (CA.CompletedDate IS NULL) |
| 71 | + AND (ISNULL(@adminIdCategoryID, 0) = 0 OR sa.CategoryID = @adminIdCategoryId) |
| 72 | + GROUP BY |
| 73 | + CA.SelfAssessmentID, SA.Name, SA.Description, SA.IncludesSignposting, SA.SupervisorResultsReview, |
| 74 | + SA.ReviewerCommentsLabel, SA.IncludeRequirementsFilters, |
| 75 | + COALESCE(SA.Vocabulary, 'Capability'), CA.StartedDate, CA.LastAccessed, CA.CompleteByDate, |
| 76 | + CA.ID, |
| 77 | + CA.UserBookmark, CA.UnprocessedUpdates, CA.LaunchCount, CA.SubmittedDate, CR.CentreName,CA.EnrolmentMethodId, |
| 78 | + uEnrolledBy.FirstName,uEnrolledBy.LastName)SelfAssessment LEFT OUTER JOIN |
| 79 | + (SELECT SelfAssessmentID,casv.SignedOff,MAX(casv.Verified) Verified FROM |
| 80 | + CandidateAssessments AS CA LEFT OUTER JOIN |
| 81 | + CandidateAssessmentSupervisors AS cas ON ca.ID =cas.CandidateAssessmentID LEFT OUTER JOIN |
| 82 | + CandidateAssessmentSupervisorVerifications AS casv ON casv.CandidateAssessmentSupervisorID = cas.ID |
| 83 | + WHERE (CA.DelegateUserID = @delegateUserId) AND (CA.RemovedDate IS NULL) AND (CA.CompletedDate IS NULL) AND (casv.SignedOff = 1) AND |
| 84 | + (casv.Verified IS NOT NULL) |
| 85 | + GROUP BY SelfAssessmentID,casv.SignedOff |
| 86 | + )Signoff ON SelfAssessment.Id =Signoff.SelfAssessmentID", |
| 87 | + new { delegateUserId, centreId, adminIdCategoryID } |
| 88 | + ); |
| 89 | + } |
11 | 90 | public IEnumerable<CurrentSelfAssessment> GetSelfAssessmentsForCandidate(int delegateUserId, int centreId) |
12 | 91 | { |
13 | 92 | return connection.Query<CurrentSelfAssessment>( |
@@ -86,7 +165,6 @@ CandidateAssessments AS CA LEFT OUTER JOIN |
86 | 165 | new { delegateUserId, centreId } |
87 | 166 | ); |
88 | 167 | } |
89 | | - |
90 | 168 | public CurrentSelfAssessment? GetSelfAssessmentForCandidateById(int delegateUserId, int selfAssessmentId) |
91 | 169 | { |
92 | 170 | return connection.QueryFirstOrDefault<CurrentSelfAssessment>( |
|
0 commit comments