private string GetTitleForPage(Page page)
        {
            var title = _assessorLookupService.GetTitleForPage(page.PageId);

            if (string.IsNullOrEmpty(title))
            {
                title = _assessorLookupService.GetSectorNameForPage(page.PageId);
            }

            return(title);
        }
Esempio n. 2
0
        public async Task <AssessorSectorDetails> GetSectorDetails(Guid applicationId, string pageId)
        {
            var sectorDetails = new AssessorSectorDetails
            {
                SectorName = _lookupService.GetSectorNameForPage(pageId)
            };

            var sectorPageIds = _lookupService.GetSectorQuestionIdsForSectorPageId(pageId);

            if (sectorPageIds == null)
            {
                return(null);
            }

            var sequenceNumber = RoatpWorkflowSequenceIds.DeliveringApprenticeshipTraining;
            var sectionNumber  = RoatpWorkflowSectionIds.DeliveringApprenticeshipTraining.YourSectorsAndEmployees;
            var pageExperienceQualificationsMemberships = new AssessorPage();
            var pageTypeOfTraining = new AssessorPage();

            var pageWhatStandardsOffered = await _pageService.GetPage(applicationId, sequenceNumber, sectionNumber, pageId);

            if (pageWhatStandardsOffered == null)
            {
                return(null);
            }

            HydrateSectorDetailsWithWhatStandardsOffered(pageWhatStandardsOffered, sectorDetails, sectorPageIds);

            var pageHowManyStarts = await _pageService.GetPage(applicationId, sequenceNumber, sectionNumber, pageWhatStandardsOffered.NextPageId);

            HydrateSectorDetailsWithHowManyStarts(pageHowManyStarts, sectorDetails, sectorPageIds);

            var pageHowManyEmployees = await _pageService.GetPage(applicationId, sequenceNumber, sectionNumber, pageHowManyStarts.NextPageId);

            HydrateSectorDetailsWithHowManyEmployees(pageHowManyEmployees, sectorDetails, sectorPageIds);

            var pageNameRoleExperience = await _pageService.GetPage(applicationId, sequenceNumber, sectionNumber, pageHowManyEmployees.NextPageId);

            HydrateSectorDetailsWithFullNameJobRoleTimeInRole(pageNameRoleExperience, sectorDetails, sectorPageIds);

            if (!string.IsNullOrEmpty(pageNameRoleExperience.NextPageId))
            {
                pageExperienceQualificationsMemberships = await _pageService.GetPage(applicationId, sequenceNumber,
                                                                                     sectionNumber, pageNameRoleExperience.NextPageId);

                HydrateSectorDetailsWithQualificationsAwardingBodiesAndTradeMemberships(sectorDetails, pageExperienceQualificationsMemberships, sectorPageIds);
            }

            if (!string.IsNullOrEmpty(pageExperienceQualificationsMemberships.NextPageId))
            {
                pageTypeOfTraining = await _pageService.GetPage(applicationId, sequenceNumber, sectionNumber,
                                                                pageExperienceQualificationsMemberships.NextPageId);

                HydrateSectorDetailsWhatTypeOfTrainingDelivered(sectorDetails, pageTypeOfTraining, sectorPageIds);
            }

            if (!string.IsNullOrEmpty(pageTypeOfTraining.NextPageId))
            {
                var pageHowDeliveredAndDuration = await _pageService.GetPage(applicationId, sequenceNumber, sectionNumber,
                                                                             pageTypeOfTraining.NextPageId);

                HydrateSectorDetailsWithHowTrainingIsDeliveredDetails(pageHowDeliveredAndDuration, sectorPageIds, sectorDetails);
            }

            return(sectorDetails);
        }