public static List <EarningPeriod> CreateIncentiveEarningPeriods(this PriceEpisodePeriodisedValues values, string priceEpisodeIdentifier) { var result = new List <EarningPeriod>(); result.AddPeriodValue(values.Period1, 1, priceEpisodeIdentifier, 1); result.AddPeriodValue(values.Period2, 2, priceEpisodeIdentifier, 1); result.AddPeriodValue(values.Period3, 3, priceEpisodeIdentifier, 1); result.AddPeriodValue(values.Period4, 4, priceEpisodeIdentifier, 1); result.AddPeriodValue(values.Period5, 5, priceEpisodeIdentifier, 1); result.AddPeriodValue(values.Period6, 6, priceEpisodeIdentifier, 1); result.AddPeriodValue(values.Period7, 7, priceEpisodeIdentifier, 1); result.AddPeriodValue(values.Period8, 8, priceEpisodeIdentifier, 1); result.AddPeriodValue(values.Period9, 9, priceEpisodeIdentifier, 1); result.AddPeriodValue(values.Period10, 10, priceEpisodeIdentifier, 1); result.AddPeriodValue(values.Period11, 11, priceEpisodeIdentifier, 1); result.AddPeriodValue(values.Period12, 12, priceEpisodeIdentifier, 1); return(result); }
public decimal TotalRecords(PriceEpisodePeriodisedValues priceEpisodePeriodisedValues) { if (priceEpisodePeriodisedValues == null) { return(0); } return(TotalRecords( priceEpisodePeriodisedValues.Period1, priceEpisodePeriodisedValues.Period2, priceEpisodePeriodisedValues.Period3, priceEpisodePeriodisedValues.Period4, priceEpisodePeriodisedValues.Period5, priceEpisodePeriodisedValues.Period6, priceEpisodePeriodisedValues.Period7, priceEpisodePeriodisedValues.Period8, priceEpisodePeriodisedValues.Period9, priceEpisodePeriodisedValues.Period10, priceEpisodePeriodisedValues.Period11, priceEpisodePeriodisedValues.Period12)); }
public static void SetValue(this PriceEpisodePeriodisedValues values, int period, decimal?value) { GetPropertyInfo(period).SetValue(values, value); }
public static decimal?GetValue(this PriceEpisodePeriodisedValues values, int period) { return((decimal?)GetPropertyInfo(period).GetValue(values)); }
private void SetPeriodValue(int period, PriceEpisodePeriodisedValues periodisedValues, decimal amount) { var periodProperty = periodisedValues.GetType().GetProperty("Period" + period); periodProperty?.SetValue(periodisedValues, amount); }
protected FM36Learner CreateFM36Learner(TestSession session, Learner testLearner, DateTime startDate) { var learner = new FM36Learner { LearnRefNumber = testLearner.LearnRefNumber, ULN = testLearner.Uln }; var priceEpisode = new ESFA.DC.ILR.FundingService.FM36.FundingOutput.Model.Output.PriceEpisode { PriceEpisodeIdentifier = "pe-1", PriceEpisodeValues = new PriceEpisodeValues { EpisodeStartDate = startDate, EpisodeEffectiveTNPStartDate = startDate, PriceEpisodeCompletionElement = 3000, PriceEpisodeCompleted = false, PriceEpisodeTotalTNPPrice = 15000, TNP1 = 9000, TNP2 = 6000, PriceEpisodeInstalmentValue = 1000, PriceEpisodePlannedInstalments = 12, PriceEpisodeActualInstalments = null, PriceEpisodeBalancePayment = 0, PriceEpisodeFundLineType = testLearner.Course.FundingLineType, PriceEpisodeBalanceValue = 0, PriceEpisodeCompletionPayment = 3000, PriceEpisodeContractType = testLearner.IsLevyLearner ? "Levy Contract" : "Non-Levy Contract", PriceEpisodeOnProgPayment = 1000, PriceEpisodePlannedEndDate = startDate.AddMonths(12), PriceEpisodeAimSeqNumber = 1, PriceEpisodeCumulativePMRs = int.MaxValue }, PriceEpisodePeriodisedValues = new List <PriceEpisodePeriodisedValues>() }; var learningValues = new PriceEpisodePeriodisedValues { AttributeName = "PriceEpisodeOnProgPayment", }; Enumerable.Range(1, 12).ToList().ForEach(i => SetPeriodValue(i, learningValues, 1000)); var completionEarnings = new PriceEpisodePeriodisedValues { AttributeName = "PriceEpisodeCompletionPayment", }; SetPeriodValue(12, completionEarnings, 3000); var balancingEarnings = new PriceEpisodePeriodisedValues { AttributeName = "PriceEpisodeBalancePayment", }; var sfaContributionValues = new PriceEpisodePeriodisedValues { AttributeName = "PriceEpisodeSFAContribPct" }; Enumerable.Range(1, 12).ToList().ForEach(i => SetPeriodValue(i, sfaContributionValues, .9M)); learner.PriceEpisodes = new List <PriceEpisode>(new[] { priceEpisode }); priceEpisode.PriceEpisodePeriodisedValues.Add(learningValues); priceEpisode.PriceEpisodePeriodisedValues.Add(completionEarnings); priceEpisode.PriceEpisodePeriodisedValues.Add(balancingEarnings); priceEpisode.PriceEpisodePeriodisedValues.Add(sfaContributionValues); learner.LearningDeliveries = new List <LearningDelivery>(new[] { new LearningDelivery { AimSeqNumber = 1, LearningDeliveryValues = new LearningDeliveryValues { LearnStartDate = startDate, LearnDelInitialFundLineType = testLearner.Course.FundingLineType, PwayCode = testLearner.Course.PathwayCode, FworkCode = testLearner.Course.FrameworkCode, ProgType = testLearner.Course.ProgrammeType, StdCode = testLearner.Course.StandardCode, LearnAimRef = testLearner.Course.LearnAimRef, } } }); return(learner); }
public AEC_ApprenticeshipPriceEpisode_PeriodisedValue BuildPriceEpisodePeriodisedValue(PriceEpisodePeriodisedValues priceEpisodePeriodisedValue, int ukprn, string learnRefNumber, string priceEpisodeId) { return(new AEC_ApprenticeshipPriceEpisode_PeriodisedValue { UKPRN = ukprn, LearnRefNumber = learnRefNumber, PriceEpisodeIdentifier = priceEpisodeId, AttributeName = priceEpisodePeriodisedValue.AttributeName, Period_1 = priceEpisodePeriodisedValue.Period1, Period_2 = priceEpisodePeriodisedValue.Period2, Period_3 = priceEpisodePeriodisedValue.Period3, Period_4 = priceEpisodePeriodisedValue.Period4, Period_5 = priceEpisodePeriodisedValue.Period5, Period_6 = priceEpisodePeriodisedValue.Period6, Period_7 = priceEpisodePeriodisedValue.Period7, Period_8 = priceEpisodePeriodisedValue.Period8, Period_9 = priceEpisodePeriodisedValue.Period9, Period_10 = priceEpisodePeriodisedValue.Period10, Period_11 = priceEpisodePeriodisedValue.Period11, Period_12 = priceEpisodePeriodisedValue.Period12 }); }