public void BuildPaymentInfoDictionary_MixedCaseLearnRefNumber() { var paymentInfo = new AppsCoInvestmentPaymentsInfo() { Payments = new List <PaymentInfo>() { new PaymentInfo() { LearnerReferenceNumber = "MiXeD", }, new PaymentInfo() { LearnerReferenceNumber = "mixed", }, new PaymentInfo() { LearnerReferenceNumber = "MIXED", } } }; var builder = new AppsCoInvestmentContributionsModelBuilder(new AppsCoInvestmentRecordKeyEqualityComparer(), null); var result = builder.BuildPaymentInfoDictionary(paymentInfo); var key = new AppsCoInvestmentRecordKey("MIXED", null, 0, 0, 0, 0); result.Should().HaveCount(1); result.TryGetValue(key, out var check); check.Should().NotBeNull(); check.Count.Should().Be(3); }
public void GetLearningDeliveryForRecordKey() { var matchingLearningDelivery = new LearningDeliveryBuilder() .With(ld => ld.LearnRefNumber, "LearningRefNumber") .Build(); var nonMatchingLearningDelivery = new LearningDeliveryBuilder() .With(ld => ld.LearnRefNumber, "NotLearningRefNumber") .Build(); var learningDeliveries = new List <LearningDelivery>() { matchingLearningDelivery, nonMatchingLearningDelivery, }; var learner = new LearnerBuilder() .With(l => l.LearningDeliveries, learningDeliveries) .Build(); var recordKey = new AppsCoInvestmentRecordKey( "LearnRefNumber", new DateTime(2020, 8, 1), 20, 40, 10, 30); NewBuilder().GetLearningDeliveryForRecord(learner, recordKey).Should().BeSameAs(matchingLearningDelivery); }
// BR2 public bool FilterReportRows(ICollection <Payment> payments, ICollection <AECApprenticeshipPriceEpisodePeriodisedValues> aecApprenticeshipPriceEpisodePeriodisedValues, ICollection <Learner> learners, AppsCoInvestmentRecordKey recordKey) { return (EmployerCoInvestmentPaymentFilter(payments, recordKey.LearnerReferenceNumber) || CompletionPaymentFilter(payments, recordKey.LearnerReferenceNumber) || PMRAppFinRecordFilter(learners, recordKey.LearnerReferenceNumber) || NonZeroCompletionEarningsFilter(aecApprenticeshipPriceEpisodePeriodisedValues, recordKey.LearnerReferenceNumber)); }
public bool IlrLearningDeliveryRecordMatch(LearningDelivery learningDelivery, AppsCoInvestmentRecordKey record) { return(learningDelivery.ProgType == record.ProgrammeType && learningDelivery.StdCode == record.StandardCode && learningDelivery.FworkCode == record.FrameworkCode && learningDelivery.PwayCode == record.PathwayCode && learningDelivery.LearnStartDate == record.LearningStartDate && learningDelivery.LearnAimRef.CaseInsensitiveEquals(record.LearningAimReference)); }
public LearningDelivery GetLearningDeliveryForRecord(Learner learner, AppsCoInvestmentRecordKey record) { return(learner? .LearningDeliveries .FirstOrDefault(ld => IlrLearningDeliveryRecordMatch(ld, record))); }
public IEnumerable <Payment> GetPaymentsForRecord(IDictionary <AppsCoInvestmentRecordKey, List <Payment> > paymentsDictionary, AppsCoInvestmentRecordKey record) { if (paymentsDictionary.TryGetValue(record, out var result)) { return(result); } return(Enumerable.Empty <Payment>()); }
public Learner GetLearnerForRecord(IDictionary <string, Learner> learnerDictionary, AppsCoInvestmentRecordKey record) { if (learnerDictionary.TryGetValue(record.LearnerReferenceNumber, out var result)) { return(result); } return(null); }
// BR2 public bool FilterReportRows(AppsCoInvestmentPaymentsInfo paymentInfo, AppsCoInvestmentRulebaseInfo rulebaseInfo, AppsCoInvestmentILRInfo ilrInfo, AppsCoInvestmentRecordKey recordKey) { return (EmployerCoInvestmentPaymentFilter(paymentInfo, recordKey.LearnerReferenceNumber) || CompletionPaymentFilter(paymentInfo, recordKey.LearnerReferenceNumber) || PMRAppFinRecordFilter(ilrInfo, recordKey.LearnerReferenceNumber) || NonZeroCompletionEarningsFilter(rulebaseInfo, recordKey.LearnerReferenceNumber)); }