@@ -490,8 +490,8 @@ public IActionResult SelfAssessmentOverview(int selfAssessmentId, string vocabul
490490 {
491491 searchModel . IsSupervisorResultsReviewed = assessment . IsSupervisorResultsReviewed ;
492492 }
493-
494- ViewBag . CanViewCertificate = CertificateHelper . CanViewCertificate ( recentResults , model . SupervisorSignOffs ) ;
493+ var competencySummaries = CertificateHelper . CanViewCertificate ( recentResults , supervisorSignOffs ) ;
494+ ViewBag . CanViewCertificate = competencySummaries . CanViewCertificate ;
495495 ViewBag . SupervisorSelfAssessmentReview = assessment . SupervisorSelfAssessmentReview ;
496496 return View ( "SelfAssessments/SelfAssessmentOverview" , model ) ;
497497 }
@@ -1661,50 +1661,18 @@ public IActionResult CompetencySelfAssessmentCertificate(int CandidateAssessment
16611661 var delegateUserId = competencymaindata . LearnerId ;
16621662 var recentResults = selfAssessmentService . GetMostRecentResults ( competencymaindata . SelfAssessmentID , competencymaindata . LearnerDelegateAccountId ) . ToList ( ) ;
16631663 var supervisorSignOffs = selfAssessmentService . GetSupervisorSignOffsForCandidateAssessment ( competencymaindata . SelfAssessmentID , delegateUserId ) ;
1664- if ( ! CertificateHelper . CanViewCertificate ( recentResults , supervisorSignOffs ) )
1664+ var competencySummaries = CertificateHelper . CanViewCertificate ( recentResults , supervisorSignOffs ) ;
1665+ if ( ! competencySummaries . CanViewCertificate )
16651666 {
16661667 return RedirectToAction ( "StatusCode" , "LearningSolutions" , new { code = 401 } ) ;
16671668 }
1668-
16691669 var competencycount = selfAssessmentService . GetCompetencyCountSelfAssessmentCertificate ( competencymaindata . CandidateAssessmentID ) ;
16701670 var accessors = selfAssessmentService . GetAccessor ( competencymaindata . SelfAssessmentID , competencymaindata . LearnerId ) ;
16711671 var assessment = selfAssessmentService . GetSelfAssessmentForCandidateById ( delegateUserId , competencymaindata . SelfAssessmentID ) ;
16721672 var competencyIds = recentResults . Select ( c => c . Id ) . ToArray ( ) ;
16731673 var competencyFlags = frameworkService . GetSelectedCompetencyFlagsByCompetecyIds ( competencyIds ) ;
1674- var competencies = CompetencyFilterHelper . FilterCompetencies ( recentResults , competencyFlags , null ) ;
1675- foreach ( var competency in competencies )
1676- {
1677- competency . QuestionLabel = assessment . QuestionLabel ;
1678- foreach ( var assessmentQuestion in competency . AssessmentQuestions )
1679- {
1680- if ( assessmentQuestion . AssessmentQuestionInputTypeID != 2 )
1681- {
1682- assessmentQuestion . LevelDescriptors = selfAssessmentService
1683- . GetLevelDescriptorsForAssessmentQuestion (
1684- assessmentQuestion . Id ,
1685- assessmentQuestion . MinValue ,
1686- assessmentQuestion . MaxValue ,
1687- assessmentQuestion . MinValue == 0
1688- ) . ToList ( ) ;
1689- }
1690- }
1691- }
1692-
1693- var CompetencyGroups = competencies . GroupBy ( competency => competency . CompetencyGroup ) ;
1694- var competencySummaries = from g in CompetencyGroups
1695- let questions = g . SelectMany ( c => c . AssessmentQuestions ) . Where ( q => q . Required )
1696- let selfAssessedCount = questions . Count ( q => q . Result . HasValue )
1697- let verifiedCount = questions . Count ( q => ! ( ( q . Result == null || q . Verified == null || q . SignedOff != true ) && q . Required ) )
1698-
1699- select new
1700- {
1701- SelfAssessedCount = selfAssessedCount ,
1702- VerifiedCount = verifiedCount ,
1703- Questions = questions . Count ( )
1704- } ;
1705-
1706- int sumVerifiedCount = competencySummaries . Sum ( item => item . VerifiedCount ) ;
1707- int sumQuestions = competencySummaries . Sum ( item => item . Questions ) ;
1674+ int sumVerifiedCount = competencySummaries . VerifiedCount ;
1675+ int sumQuestions = competencySummaries . QuestionsCount ;
17081676 var activitySummaryCompetencySelfAssesment = selfAssessmentService . GetActivitySummaryCompetencySelfAssesment ( competencymaindata . Id ) ;
17091677 var model = new CompetencySelfAssessmentCertificateViewModel ( competencymaindata , competencycount , vocabulary , accessors , activitySummaryCompetencySelfAssesment , sumQuestions , sumVerifiedCount , supervisorDelegateId ) ;
17101678 return View ( "SelfAssessments/CompetencySelfAssessmentCertificate" , model ) ;
@@ -1743,42 +1711,13 @@ public async Task<IActionResult> DownloadCertificate(int candidateAssessmentId,
17431711 var competencyFlags = frameworkService . GetSelectedCompetencyFlagsByCompetecyIds ( competencyIds ) ;
17441712 var competencies = CompetencyFilterHelper . FilterCompetencies ( recentResults , competencyFlags , null ) ;
17451713 var supervisorSignOffs = selfAssessmentService . GetSupervisorSignOffsForCandidateAssessment ( competencymaindata . SelfAssessmentID , delegateUserId ) ;
1746- if ( ! CertificateHelper . CanViewCertificate ( recentResults , supervisorSignOffs ) )
1714+ var competencySummaries = CertificateHelper . CanViewCertificate ( recentResults , supervisorSignOffs ) ;
1715+ if ( ! competencySummaries . CanViewCertificate )
17471716 {
17481717 return RedirectToAction ( "StatusCode" , "LearningSolutions" , new { code = 401 } ) ;
17491718 }
1750- foreach ( var competency in competencies )
1751- {
1752- competency . QuestionLabel = assessment . QuestionLabel ;
1753- foreach ( var assessmentQuestion in competency . AssessmentQuestions )
1754- {
1755- if ( assessmentQuestion . AssessmentQuestionInputTypeID != 2 )
1756- {
1757- assessmentQuestion . LevelDescriptors = selfAssessmentService
1758- . GetLevelDescriptorsForAssessmentQuestion (
1759- assessmentQuestion . Id ,
1760- assessmentQuestion . MinValue ,
1761- assessmentQuestion . MaxValue ,
1762- assessmentQuestion . MinValue == 0
1763- ) . ToList ( ) ;
1764- }
1765- }
1766- }
1767-
1768- var CompetencyGroups = competencies . GroupBy ( competency => competency . CompetencyGroup ) ;
1769- var competencySummaries = from g in CompetencyGroups
1770- let questions = g . SelectMany ( c => c . AssessmentQuestions ) . Where ( q => q . Required )
1771- let selfAssessedCount = questions . Count ( q => q . Result . HasValue )
1772- let verifiedCount = questions . Count ( q => ! ( ( q . Result == null || q . Verified == null || q . SignedOff != true ) && q . Required ) )
1773- select new
1774- {
1775- SelfAssessedCount = selfAssessedCount ,
1776- VerifiedCount = verifiedCount ,
1777- Questions = questions . Count ( )
1778- } ;
1779-
1780- int sumVerifiedCount = competencySummaries . Sum ( item => item . VerifiedCount ) ;
1781- int sumQuestions = competencySummaries . Sum ( item => item . Questions ) ;
1719+ int sumVerifiedCount = competencySummaries . VerifiedCount ;
1720+ int sumQuestions = competencySummaries . QuestionsCount ;
17821721 var model = new CompetencySelfAssessmentCertificateViewModel ( competencymaindata , competencycount , "Proficiencies" , accessors , activitySummaryCompetencySelfAssesment , sumQuestions , sumVerifiedCount , null ) ;
17831722 var renderedViewHTML = RenderRazorViewToString ( this , "SelfAssessments/DownloadCompetencySelfAssessmentCertificate" , model ) ;
17841723
0 commit comments