public SequenceViewModel(ApplicationSequence sequence, Guid applicationId, List <ValidationErrorDetail> errorMessages)
 {
     ApplicationId = applicationId;
     Sections      = sequence.Sections;
     SequenceId    = (int)sequence.SequenceId;
     Status        = sequence.Status;
     ErrorMessages = errorMessages;
 }
        private List <ApplicationSequence> GenerateTestSequences()
        {
            var result = new List <ApplicationSequence>();

            for (var i = 1; i < 10; i++)
            {
                var newSequence = new ApplicationSequence {
                    SequenceId = i, Sections = new List <ApplicationSection>()
                };

                for (var j = 1; j < 6; j++)
                {
                    newSequence.Sections.Add(new ApplicationSection {
                        SectionId = j, SequenceId = i
                    });
                }

                result.Add(newSequence);
            }

            return(result);
        }
        public ApplicationSequenceViewModel(Guid applicationId, int sequenceId, ApplicationSequence sequence, AssessorService.ApplyTypes.Application application)
        {
            if (sequence != null)
            {
                Sequence      = sequence;
                ApplicationId = sequence.ApplicationId;
                SequenceId    = sequence.SequenceId;
            }
            else
            {
                ApplicationId = applicationId;
                SequenceId    = sequenceId;
            }

            if (application != null)
            {
                if (application.ApplicationData != null)
                {
                    ApplicationReference = application.ApplicationData.ReferenceNumber;
                    Standard             = $"{application.ApplicationData.StandardName} ({application.ApplicationData.StandardCode})";
                }

                if (application.ApplyingOrganisation?.OrganisationData != null)
                {
                    Ukprn         = application.ApplyingOrganisation.EndPointAssessorUkprn;
                    LegalName     = application.ApplyingOrganisation.OrganisationData.LegalName;
                    TradingName   = application.ApplyingOrganisation.OrganisationData.TradingName;
                    ProviderName  = application.ApplyingOrganisation.OrganisationData.ProviderName;
                    CompanyNumber = application.ApplyingOrganisation.OrganisationData.CompanyNumber;


                    if (!sequence.Sections.All(s => s.SectionId != 3))
                    {
                        FinancialDueDate = application.ApplyingOrganisation.OrganisationData.FHADetails?.FinancialDueDate;
                    }
                }
            }
        }