@@ -532,8 +532,8 @@ public IActionResult SelfAssessmentOverview(int selfAssessmentId, string vocabul
532532            { 
533533                searchModel . IsSupervisorResultsReviewed  =  assessment . IsSupervisorResultsReviewed ; 
534534            } 
535- 
536-             ViewBag . CanViewCertificate  =  CertificateHelper . CanViewCertificate ( recentResults ,   model . SupervisorSignOffs ) ; 
535+              var   competencySummaries   =   CertificateHelper . CanViewCertificate ( recentResults ,   supervisorSignOffs ) ; 
536+             ViewBag . CanViewCertificate  =  competencySummaries . CanViewCertificate ; 
537537            ViewBag . SupervisorSelfAssessmentReview  =  assessment . SupervisorSelfAssessmentReview ; 
538538            return  View ( "SelfAssessments/SelfAssessmentOverview" ,  model ) ; 
539539        } 
@@ -1710,50 +1710,18 @@ public IActionResult CompetencySelfAssessmentCertificate(int CandidateAssessment
17101710            var  delegateUserId  =  competencymaindata . LearnerId ; 
17111711            var  recentResults  =  selfAssessmentService . GetMostRecentResults ( competencymaindata . SelfAssessmentID ,  competencymaindata . LearnerDelegateAccountId ) . ToList ( ) ; 
17121712            var  supervisorSignOffs  =  selfAssessmentService . GetSupervisorSignOffsForCandidateAssessment ( competencymaindata . SelfAssessmentID ,  delegateUserId ) ; 
1713-             if  ( ! CertificateHelper . CanViewCertificate ( recentResults ,  supervisorSignOffs ) ) 
1713+             var  competencySummaries  =  CertificateHelper . CanViewCertificate ( recentResults ,  supervisorSignOffs ) ; 
1714+             if  ( ! competencySummaries . CanViewCertificate ) 
17141715            { 
17151716                return  RedirectToAction ( "StatusCode" ,  "LearningSolutions" ,  new  {  code  =  401  } ) ; 
17161717            } 
1717- 
17181718            var  competencycount  =  selfAssessmentService . GetCompetencyCountSelfAssessmentCertificate ( competencymaindata . CandidateAssessmentID ) ; 
17191719            var  accessors  =  selfAssessmentService . GetAccessor ( competencymaindata . SelfAssessmentID ,  competencymaindata . LearnerId ) ; 
17201720            var  assessment  =  selfAssessmentService . GetSelfAssessmentForCandidateById ( delegateUserId ,  competencymaindata . SelfAssessmentID ) ; 
17211721            var  competencyIds  =  recentResults . Select ( c =>  c . Id ) . ToArray ( ) ; 
17221722            var  competencyFlags  =  frameworkService . GetSelectedCompetencyFlagsByCompetecyIds ( competencyIds ) ; 
1723-             var  competencies  =  CompetencyFilterHelper . FilterCompetencies ( recentResults ,  competencyFlags ,  null ) ; 
1724-             foreach  ( var  competency  in  competencies ) 
1725-             { 
1726-                 competency . QuestionLabel  =  assessment . QuestionLabel ; 
1727-                 foreach  ( var  assessmentQuestion  in  competency . AssessmentQuestions ) 
1728-                 { 
1729-                     if  ( assessmentQuestion . AssessmentQuestionInputTypeID  !=  2 ) 
1730-                     { 
1731-                         assessmentQuestion . LevelDescriptors  =  selfAssessmentService 
1732-                             . GetLevelDescriptorsForAssessmentQuestion ( 
1733-                                 assessmentQuestion . Id , 
1734-                                 assessmentQuestion . MinValue , 
1735-                                 assessmentQuestion . MaxValue , 
1736-                                 assessmentQuestion . MinValue  ==  0 
1737-                             ) . ToList ( ) ; 
1738-                     } 
1739-                 } 
1740-             } 
1741- 
1742-             var  CompetencyGroups  =  competencies . GroupBy ( competency =>  competency . CompetencyGroup ) ; 
1743-             var  competencySummaries  =  from  g  in  CompetencyGroups 
1744-                                       let  questions  =  g . SelectMany ( c =>  c . AssessmentQuestions ) . Where ( q =>  q . Required ) 
1745-                                       let  selfAssessedCount  =  questions . Count ( q =>  q . Result . HasValue ) 
1746-                                       let  verifiedCount  =  questions . Count ( q =>  ! ( ( q . Result  ==  null  ||  q . Verified  ==  null  ||  q . SignedOff  !=  true )  &&  q . Required ) ) 
1747- 
1748-                                       select  new 
1749-                                       { 
1750-                                           SelfAssessedCount  =  selfAssessedCount , 
1751-                                           VerifiedCount  =  verifiedCount , 
1752-                                           Questions  =  questions . Count ( ) 
1753-                                       } ; 
1754- 
1755-             int  sumVerifiedCount  =  competencySummaries . Sum ( item =>  item . VerifiedCount ) ; 
1756-             int  sumQuestions  =  competencySummaries . Sum ( item =>  item . Questions ) ; 
1723+             int  sumVerifiedCount  =  competencySummaries . VerifiedCount ; 
1724+             int  sumQuestions  =  competencySummaries . QuestionsCount ; 
17571725            var  activitySummaryCompetencySelfAssesment  =  selfAssessmentService . GetActivitySummaryCompetencySelfAssesment ( competencymaindata . Id ) ; 
17581726            var  model  =  new  CompetencySelfAssessmentCertificateViewModel ( competencymaindata ,  competencycount ,  vocabulary ,  accessors ,  activitySummaryCompetencySelfAssesment ,  sumQuestions ,  sumVerifiedCount ,  supervisorDelegateId ) ; 
17591727            return  View ( "SelfAssessments/CompetencySelfAssessmentCertificate" ,  model ) ; 
@@ -1792,42 +1760,13 @@ public async Task<IActionResult> DownloadCertificate(int candidateAssessmentId,
17921760            var  competencyFlags  =  frameworkService . GetSelectedCompetencyFlagsByCompetecyIds ( competencyIds ) ; 
17931761            var  competencies  =  CompetencyFilterHelper . FilterCompetencies ( recentResults ,  competencyFlags ,  null ) ; 
17941762            var  supervisorSignOffs  =  selfAssessmentService . GetSupervisorSignOffsForCandidateAssessment ( competencymaindata . SelfAssessmentID ,  delegateUserId ) ; 
1795-             if  ( ! CertificateHelper . CanViewCertificate ( recentResults ,  supervisorSignOffs ) ) 
1763+             var  competencySummaries  =  CertificateHelper . CanViewCertificate ( recentResults ,  supervisorSignOffs ) ; 
1764+             if  ( ! competencySummaries . CanViewCertificate ) 
17961765            { 
17971766                return  RedirectToAction ( "StatusCode" ,  "LearningSolutions" ,  new  {  code  =  401  } ) ; 
17981767            } 
1799-             foreach  ( var  competency  in  competencies ) 
1800-             { 
1801-                 competency . QuestionLabel  =  assessment . QuestionLabel ; 
1802-                 foreach  ( var  assessmentQuestion  in  competency . AssessmentQuestions ) 
1803-                 { 
1804-                     if  ( assessmentQuestion . AssessmentQuestionInputTypeID  !=  2 ) 
1805-                     { 
1806-                         assessmentQuestion . LevelDescriptors  =  selfAssessmentService 
1807-                             . GetLevelDescriptorsForAssessmentQuestion ( 
1808-                                 assessmentQuestion . Id , 
1809-                                 assessmentQuestion . MinValue , 
1810-                                 assessmentQuestion . MaxValue , 
1811-                                 assessmentQuestion . MinValue  ==  0 
1812-                             ) . ToList ( ) ; 
1813-                     } 
1814-                 } 
1815-             } 
1816- 
1817-             var  CompetencyGroups  =  competencies . GroupBy ( competency =>  competency . CompetencyGroup ) ; 
1818-             var  competencySummaries  =  from  g  in  CompetencyGroups 
1819-                                       let  questions  =  g . SelectMany ( c =>  c . AssessmentQuestions ) . Where ( q =>  q . Required ) 
1820-                                       let  selfAssessedCount  =  questions . Count ( q =>  q . Result . HasValue ) 
1821-                                       let  verifiedCount  =  questions . Count ( q =>  ! ( ( q . Result  ==  null  ||  q . Verified  ==  null  ||  q . SignedOff  !=  true )  &&  q . Required ) ) 
1822-                                       select  new 
1823-                                       { 
1824-                                           SelfAssessedCount  =  selfAssessedCount , 
1825-                                           VerifiedCount  =  verifiedCount , 
1826-                                           Questions  =  questions . Count ( ) 
1827-                                       } ; 
1828- 
1829-             int  sumVerifiedCount  =  competencySummaries . Sum ( item =>  item . VerifiedCount ) ; 
1830-             int  sumQuestions  =  competencySummaries . Sum ( item =>  item . Questions ) ; 
1768+             int  sumVerifiedCount  =  competencySummaries . VerifiedCount ; 
1769+             int  sumQuestions  =  competencySummaries . QuestionsCount ; 
18311770            var  model  =  new  CompetencySelfAssessmentCertificateViewModel ( competencymaindata ,  competencycount ,  "Proficiencies" ,  accessors ,  activitySummaryCompetencySelfAssesment ,  sumQuestions ,  sumVerifiedCount ,  null ) ; 
18321771            var  renderedViewHTML  =  RenderRazorViewToString ( this ,  "SelfAssessments/DownloadCompetencySelfAssessmentCertificate" ,  model ) ; 
18331772
0 commit comments