private void AddSequenceTitlesToSequences(List <AssessorSequence> sequencesWithModerationFails) { foreach (var sequence in sequencesWithModerationFails) { sequence.SequenceTitle = _assessorLookupService.GetTitleForSequence(sequence.SequenceNumber)?.Replace("checks", string.Empty, StringComparison.InvariantCultureIgnoreCase).Trim(); } }
private AssessorSequence GetSequence(int sequenceNumber, IEnumerable <ApplicationSection> qnaSectionsForSequence, ApplySequence applySequence) { AssessorSequence sequence = null; if (IsValidSequenceNumber(sequenceNumber) && qnaSectionsForSequence != null) { var sectionsToExclude = GetWhatYouWillNeedSectionsForSequence(sequenceNumber); var qnaSections = qnaSectionsForSequence.Where(sec => sec.SequenceId == sequenceNumber && !sectionsToExclude.Contains(sec.SectionId)); sequence = new AssessorSequence { SequenceNumber = sequenceNumber, SequenceTitle = _lookupService.GetTitleForSequence(sequenceNumber), Sections = qnaSections.Select(sec => { return(new AssessorSection { SequenceNumber = sec.SequenceId, SectionNumber = sec.SectionId, LinkTitle = sec.Title, Status = string.Empty, Pages = sec.QnAData?.Pages }); }) .OrderBy(sec => sec.SectionNumber).ToList() }; if (applySequence != null && applySequence.SequenceNo == sequenceNumber && applySequence.Sections != null) { foreach (var section in sequence.Sections) { var applySection = applySequence.Sections.FirstOrDefault(sec => sec.SectionNo == section.SectionNumber); if (applySequence.NotRequired || applySection?.NotRequired == true) { section.Status = AssessorReviewStatus.NotRequired; } } } } return(sequence); }
public static AssessorPage ToAssessorPage(this Page qnaPage, IAssessorLookupService assessorLookupService, Guid applicationId, int sequenceNumber, int sectionNumber) { var page = new AssessorPage { ApplicationId = applicationId, SequenceNumber = sequenceNumber, SectionNumber = sectionNumber, PageId = qnaPage.PageId, DisplayType = qnaPage.DisplayType, Caption = assessorLookupService?.GetTitleForSequence(sequenceNumber), Heading = assessorLookupService?.GetTitleForPage(qnaPage.PageId) ?? qnaPage.LinkTitle, Title = qnaPage.Title, BodyText = qnaPage.BodyText }; if (qnaPage.Questions != null && qnaPage.Questions.Any()) { page.Questions = new List <AssessorQuestion>(qnaPage.Questions.Select(q => { return(q.ToAssessorQuestion(assessorLookupService)); })); } if (qnaPage.PageOfAnswers != null && qnaPage.PageOfAnswers.Any()) { var qnaAnswers = qnaPage.PageOfAnswers.SelectMany(pao => pao.Answers); page.Answers = qnaAnswers.ToLookup(a => a.QuestionId).Select(group => { return(new AssessorAnswer { QuestionId = group.Key, Value = group.FirstOrDefault()?.Value }); }).ToList(); } page.GuidanceInformation = GetGuidanceInformation(page); return(page); }