private PaymentModel ToPayment(HistoricalPayment payment, FundingSourceType fundingSource) { var testSessionLearner = TestSession.Learners.FirstOrDefault(l => l.LearnerIdentifier == payment.LearnerId) ?? TestSession.Learner; Assert.IsNotNull(testSessionLearner, $"Test session learner with learner id: '{payment.LearnerId}' not found."); return(new PaymentModel { EventId = Guid.NewGuid(), FundingSourceEventId = Guid.NewGuid(), Ukprn = TestSession.Ukprn, LearnerReferenceNumber = testSessionLearner.LearnRefNumber, LearnerUln = testSessionLearner.Uln, PriceEpisodeIdentifier = payment.PriceEpisodeIdentifier, Amount = GetFundingAmount(payment.Amount, fundingSource), CollectionPeriod = CollectionPeriodFactory.CreateFromAcademicYearAndPeriod(AcademicYear, CollectionPeriod), DeliveryPeriod = payment.DeliveryPeriod, LearningAimReference = testSessionLearner.Course.LearnAimRef, LearningAimProgrammeType = testSessionLearner.Course.ProgrammeType, LearningAimStandardCode = testSessionLearner.Course.StandardCode, LearningAimFrameworkCode = testSessionLearner.Course.FrameworkCode, LearningAimPathwayCode = testSessionLearner.Course.PathwayCode, LearningAimFundingLineType = testSessionLearner.Course.FundingLineType, FundingSource = fundingSource, ContractType = Payments.Model.Core.Entities.ContractType.Act2, SfaContributionPercentage = SfaContributionPercentage, JobId = TestSession.JobId, TransactionType = (TransactionType)payment.Type, IlrSubmissionDateTime = TestSession.IlrSubmissionTime }); }
private List <PaymentModel> ToPayments(HistoricalPayment payment) { return(new List <PaymentModel> { ToPayment(payment, FundingSourceType.CoInvestedEmployer), ToPayment(payment, FundingSourceType.CoInvestedSfa) }); }