private async Task <FinancialApplicationViewModel> CreateFinancialApplicationViewModel(ApplicationResponse applicationFromAssessor, FinancialGrade grade)
        {
            if (applicationFromAssessor is null)
            {
                return(new FinancialApplicationViewModel());
            }
            else if (grade is null)
            {
                grade = applicationFromAssessor.FinancialGrade;
            }

            var financialSection = await _qnaApiClient.GetSectionBySectionNo(applicationFromAssessor.ApplicationId, ApplyConst.FINANCIAL_SEQUENCE_NO, ApplyConst.FINANCIAL_DETAILS_SECTION_NO);

            var orgId        = applicationFromAssessor.OrganisationId;
            var organisation = await _apiClient.GetOrganisation(orgId);

            var application = new AssessorService.ApplyTypes.Application
            {
                ApplicationData = new ApplicationData
                {
                    ReferenceNumber = applicationFromAssessor.ApplyData.Apply.ReferenceNumber
                },
                ApplyingOrganisation   = organisation,
                ApplyingOrganisationId = orgId,
                ApplicationStatus      = applicationFromAssessor.ApplicationStatus
            };

            return(new FinancialApplicationViewModel(applicationFromAssessor.Id, applicationFromAssessor.ApplicationId, financialSection, grade, application));
        }
Beispiel #2
0
        public FinancialApplicationViewModel(Guid id, Guid applicationId, Section section, FinancialGrade grade, AssessorService.ApplyTypes.Application application)
        {
            Id = id;
            if (section != null)
            {
                Section       = section;
                ApplicationId = section.ApplicationId;
            }
            else
            {
                ApplicationId = applicationId;
            }

            SetupGradeAndFinancialDueDate(grade);
            OrgId = application.ApplyingOrganisationId;

            if (application.ApplicationData != null)
            {
                ApplicationReference = application.ApplicationData.ReferenceNumber;
            }


            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;
            }
        }
        public ApplicationSectionViewModel(Guid applicationId, int sequenceId, int sectionId, ApplicationSection section, AssessorService.ApplyTypes.Application application)
        {
            if (section != null)
            {
                Section       = section;
                Title         = section.Title;
                ApplicationId = section.ApplicationId;
                SequenceId    = section.SequenceId;
                SectionId     = section.SectionId;

                if (section.Status == ApplicationSectionStatus.Evaluated)
                {
                    IsSectionComplete = true;
                }
            }
            else
            {
                ApplicationId = applicationId;
                SequenceId    = sequenceId;
                SectionId     = sectionId;
            }

            if (application != null)
            {
                if (application.ApplicationData != null)
                {
                    ApplicationReference = application.ApplicationData.ReferenceNumber;
                }

                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;
                }
            }
        }
        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;
                    }
                }
            }
        }