public async Task <GetBankingDataResult> Handle(GetBankingDataQuery request, CancellationToken cancellationToken) { var application = await _employerIncentivesService.GetApplication(request.AccountId, request.ApplicationId); if (application == null) { throw new ArgumentException("Requested application details cannot be found in SFA.DAS.EmployerIncentives Application Service"); } var legalEntity = await _accountsService.GetLegalEntity(request.HashedAccountId, application.LegalEntityId); if (legalEntity == null) { throw new ArgumentException("Requested legal entity details cannot be found in SFA.DAS.EAS Employer Accounts Service"); } var bankingData = new BankingData { VendorCode = "00000000", LegalEntityId = application.LegalEntityId, SubmittedByEmail = application.SubmittedByEmail, SubmittedByName = application.SubmittedByName, ApplicationValue = application.Apprenticeships.Sum(x => x.TotalIncentiveAmount), NumberOfApprenticeships = application.Apprenticeships.Count(), SignedAgreements = legalEntity.Agreements.Where(AgreementHasBeenSigned).Select(ToSignedAgreement) }; return(new GetBankingDataResult { Data = bankingData }); }
public async Task <GetApplicationResult> Handle(GetApplicationQuery request, CancellationToken cancellationToken) { var application = await _employerIncentivesService.GetApplication(request.AccountId, request.ApplicationId); var applicationToReturn = MapApplication(application); if (request.IncludeApprenticeships) { applicationToReturn.Apprenticeships = await MapApprenticeships(application.Apprenticeships); } return(new GetApplicationResult { Application = applicationToReturn }); }