public bool EarningsAttributeFilter(AECApprenticeshipPriceEpisodePeriodisedValuesInfo periodisedValues, string paymentType) { if (paymentType.CaseInsensitiveEquals(EmployerPaymentType) && (periodisedValues.AttributeName.CaseInsensitiveEquals(Generics.Fm36PriceEpisodeFirstEmp1618PayAttributeName) || periodisedValues.AttributeName.CaseInsensitiveEquals(Generics.Fm36PriceEpisodeSecondEmp1618PayAttributeName))) { return(true); } if (paymentType.CaseInsensitiveEquals(ProviderPaymentType) && (periodisedValues.AttributeName.CaseInsensitiveEquals(Generics.Fm36PriceEpisodeFirstProv1618PayAttributeName) || periodisedValues.AttributeName.CaseInsensitiveEquals(Generics.Fm36PriceEpisodeSecondProv1618PayAttributeName))) { return(true); } if (paymentType == ApprenticePaymentType && periodisedValues.AttributeName == Generics.Fm36PriceEpisodeLearnerAdditionalPaymentAttributeName) { return(true); } return(false); }
public async Task <AppsAdditionalPaymentRulebaseInfo> GetFM36DataForAppsAdditionalPaymentReportAsync(int ukPrn, CancellationToken cancellationToken) { var appsAdditionalPaymentRulebaseInfo = new AppsAdditionalPaymentRulebaseInfo() { UkPrn = ukPrn, AECApprenticeshipPriceEpisodePeriodisedValues = new List <AECApprenticeshipPriceEpisodePeriodisedValuesInfo>(), AECLearningDeliveries = new List <AECLearningDeliveryInfo>() }; cancellationToken.ThrowIfCancellationRequested(); List <AEC_ApprenticeshipPriceEpisode> aecApprenticeshipPriceEpisodes; List <AEC_LearningDelivery> aecLearningDeliveries; using (var ilrContext = _ilrRulebaseContextFactory()) { aecApprenticeshipPriceEpisodes = await ilrContext.AEC_ApprenticeshipPriceEpisodes.Include(x => x.AEC_ApprenticeshipPriceEpisode_PeriodisedValues).Where(x => x.UKPRN == ukPrn).ToListAsync(cancellationToken); aecLearningDeliveries = await ilrContext.AEC_LearningDeliveries.Where(x => x.UKPRN == ukPrn).ToListAsync(cancellationToken); } foreach (var aecApprenticeshipPriceEpisode in aecApprenticeshipPriceEpisodes) { foreach (var aecApprenticeshipPriceEpisodePeriodisedValue in aecApprenticeshipPriceEpisode .AEC_ApprenticeshipPriceEpisode_PeriodisedValues) { var periodisedValue = new AECApprenticeshipPriceEpisodePeriodisedValuesInfo() { UKPRN = ukPrn, LearnRefNumber = aecApprenticeshipPriceEpisodePeriodisedValue.LearnRefNumber, AimSeqNumber = (int)aecApprenticeshipPriceEpisode.PriceEpisodeAimSeqNumber, AttributeName = aecApprenticeshipPriceEpisodePeriodisedValue.AttributeName, Periods = new[] { aecApprenticeshipPriceEpisodePeriodisedValue.Period_1.GetValueOrDefault(), aecApprenticeshipPriceEpisodePeriodisedValue.Period_2.GetValueOrDefault(), aecApprenticeshipPriceEpisodePeriodisedValue.Period_3.GetValueOrDefault(), aecApprenticeshipPriceEpisodePeriodisedValue.Period_4.GetValueOrDefault(), aecApprenticeshipPriceEpisodePeriodisedValue.Period_5.GetValueOrDefault(), aecApprenticeshipPriceEpisodePeriodisedValue.Period_6.GetValueOrDefault(), aecApprenticeshipPriceEpisodePeriodisedValue.Period_7.GetValueOrDefault(), aecApprenticeshipPriceEpisodePeriodisedValue.Period_8.GetValueOrDefault(), aecApprenticeshipPriceEpisodePeriodisedValue.Period_9.GetValueOrDefault(), aecApprenticeshipPriceEpisodePeriodisedValue.Period_10.GetValueOrDefault(), aecApprenticeshipPriceEpisodePeriodisedValue.Period_11.GetValueOrDefault(), aecApprenticeshipPriceEpisodePeriodisedValue.Period_12.GetValueOrDefault(), } }; appsAdditionalPaymentRulebaseInfo.AECApprenticeshipPriceEpisodePeriodisedValues.Add(periodisedValue); } } foreach (var aecLearningDelivery in aecLearningDeliveries) { var aecLearningDeliveryInfo = new AECLearningDeliveryInfo() { UKPRN = ukPrn, LearnRefNumber = aecLearningDelivery.LearnRefNumber, AimSeqNumber = aecLearningDelivery.AimSeqNumber, LearnDelEmpIdFirstAdditionalPaymentThreshold = aecLearningDelivery.LearnDelEmpIdFirstAdditionalPaymentThreshold, LearnDelEmpIdSecondAdditionalPaymentThreshold = aecLearningDelivery.LearnDelEmpIdSecondAdditionalPaymentThreshold }; appsAdditionalPaymentRulebaseInfo.AECLearningDeliveries.Add(aecLearningDeliveryInfo); } return(appsAdditionalPaymentRulebaseInfo); }