private void RemoveSectionsOneAndTwo(ApplySequence sequence)
 {
     foreach (var section in sequence.Sections.Where(s => s.SectionNo == 1 || s.SectionNo == 2))
     {
         section.NotRequired = true;
         section.Status      = ApplicationSectionStatus.Evaluated;
     }
 }
 private void RemoveSectionThree(ApplySequence sequence)
 {
     foreach (var section in sequence.Sections.Where(sec => sec.SectionNo == 3))
     {
         section.NotRequired = true;
         section.Status      = ApplicationSectionStatus.Evaluated;
     }
 }
        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);
        }