private decimal BuildTotalEarnings(AppsAdditionalPaymentsModel model) { return(model.AugustEarnings + model.SeptemberEarnings + model.OctoberEarnings + model.NovemberEarnings + model.DecemberEarnings + model.JanuaryEarnings + model.FebruaryEarnings + model.MarchEarnings + model.AprilEarnings + model.MayEarnings + model.JuneEarnings + model.JulyEarnings); }
private decimal BuildTotalTotalPayments(AppsAdditionalPaymentsModel model) { return(model.AugustR01Payments + model.SeptemberR02Payments + model.OctoberR03Payments + model.NovemberR04Payments + model.DecemberR05Payments + model.JanuaryR06Payments + model.FebruaryR07Payments + model.MarchR08Payments + model.AprilR09Payments + model.MayR10Payments + model.JuneR11Payments + model.JulyR12Payments + model.R13Payments + model.R14Payments); }
public List <AppsAdditionalPaymentsModel> BuildModel( AppsAdditionalPaymentILRInfo appsAdditionalPaymentIlrInfo, AppsAdditionalPaymentRulebaseInfo appsAdditionalPaymentRulebaseInfo, AppsAdditionalPaymentDasPaymentsInfo appsAdditionalPaymentDasPaymentsInfo) { List <AppsAdditionalPaymentsModel> appsAdditionalPaymentsModels = new List <AppsAdditionalPaymentsModel>(); foreach (var learner in appsAdditionalPaymentIlrInfo.Learners) { foreach (var paymentInfo in appsAdditionalPaymentDasPaymentsInfo.Payments) { var appsAdditionalPaymentLearningDeliveryInfo = learner.LearningDeliveries.SingleOrDefault(x => x.UKPRN == paymentInfo.UkPrn && x.LearnRefNumber == paymentInfo.LearnerReferenceNumber && x.LearnAimRef == paymentInfo.LearningAimReference && x.LearnStartDate == paymentInfo.LearningStartDate && x.ProgType == paymentInfo.LearningAimProgrammeType && x.StdCode == paymentInfo.LearningAimStandardCode && x.FworkCode == paymentInfo.LearningAimFrameworkCode && x.PwayCode == paymentInfo.LearningAimPathwayCode); var aecLearningDeliveryInfo = appsAdditionalPaymentRulebaseInfo.AECLearningDeliveries.SingleOrDefault(x => x.UKPRN == appsAdditionalPaymentLearningDeliveryInfo?.UKPRN && x.LearnRefNumber == appsAdditionalPaymentLearningDeliveryInfo.LearnRefNumber && x.AimSeqNumber == appsAdditionalPaymentLearningDeliveryInfo.AimSeqNumber); var aecApprenticeshipPriceEpisodePeriodisedValuesInfo = appsAdditionalPaymentRulebaseInfo.AECApprenticeshipPriceEpisodePeriodisedValues.Where(x => x.UKPRN == appsAdditionalPaymentLearningDeliveryInfo?.UKPRN && x.LearnRefNumber == appsAdditionalPaymentLearningDeliveryInfo.LearnRefNumber && x.AimSeqNumber == appsAdditionalPaymentLearningDeliveryInfo.AimSeqNumber).ToList(); var model = new AppsAdditionalPaymentsModel() { LearnerReferenceNumber = paymentInfo.LearnerReferenceNumber, UniqueLearnerNumber = paymentInfo.LearnerUln, ProviderSpecifiedLearnerMonitoringA = learner.ProviderSpecLearnerMonitorings?.SingleOrDefault(psm => string.Equals(psm.ProvSpecLearnMonOccur, "A", StringComparison.OrdinalIgnoreCase))?.ProvSpecLearnMon, ProviderSpecifiedLearnerMonitoringB = learner.ProviderSpecLearnerMonitorings?.SingleOrDefault(psm => string.Equals(psm.ProvSpecLearnMonOccur, "B", StringComparison.OrdinalIgnoreCase))?.ProvSpecLearnMon, LearningStartDate = paymentInfo.LearningStartDate, FundingLineType = paymentInfo.LearningAimFundingLineType, EmployerNameFromApprenticeshipService = paymentInfo.EmployerName, EmployerIdentifierFromILR = GetEmployerIdentifier(aecLearningDeliveryInfo, paymentInfo), TypeOfAdditionalPayment = paymentInfo.TypeOfAdditionalPayment, AugustEarnings = GetMonthlyEarnings(paymentInfo, aecApprenticeshipPriceEpisodePeriodisedValuesInfo, 0), SeptemberEarnings = GetMonthlyEarnings(paymentInfo, aecApprenticeshipPriceEpisodePeriodisedValuesInfo, 1), OctoberEarnings = GetMonthlyEarnings(paymentInfo, aecApprenticeshipPriceEpisodePeriodisedValuesInfo, 2), NovemberEarnings = GetMonthlyEarnings(paymentInfo, aecApprenticeshipPriceEpisodePeriodisedValuesInfo, 3), DecemberEarnings = GetMonthlyEarnings(paymentInfo, aecApprenticeshipPriceEpisodePeriodisedValuesInfo, 4), JanuaryEarnings = GetMonthlyEarnings(paymentInfo, aecApprenticeshipPriceEpisodePeriodisedValuesInfo, 5), FebruaryEarnings = GetMonthlyEarnings(paymentInfo, aecApprenticeshipPriceEpisodePeriodisedValuesInfo, 6), MarchEarnings = GetMonthlyEarnings(paymentInfo, aecApprenticeshipPriceEpisodePeriodisedValuesInfo, 7), AprilEarnings = GetMonthlyEarnings(paymentInfo, aecApprenticeshipPriceEpisodePeriodisedValuesInfo, 8), MayEarnings = GetMonthlyEarnings(paymentInfo, aecApprenticeshipPriceEpisodePeriodisedValuesInfo, 9), JuneEarnings = GetMonthlyEarnings(paymentInfo, aecApprenticeshipPriceEpisodePeriodisedValuesInfo, 10), JulyEarnings = GetMonthlyEarnings(paymentInfo, aecApprenticeshipPriceEpisodePeriodisedValuesInfo, 11), AugustR01Payments = GetMonthlyPayments(paymentInfo, "1819-R01"), SeptemberR02Payments = GetMonthlyPayments(paymentInfo, "1819-R02"), OctoberR03Payments = GetMonthlyPayments(paymentInfo, "1819-R03"), NovemberR04Payments = GetMonthlyPayments(paymentInfo, "1819-R04"), DecemberR05Payments = GetMonthlyPayments(paymentInfo, "1819-R05"), JanuaryR06Payments = GetMonthlyPayments(paymentInfo, "1819-R06"), FebruaryR07Payments = GetMonthlyPayments(paymentInfo, "1819-R07"), MarchR08Payments = GetMonthlyPayments(paymentInfo, "1819-R08"), AprilR09Payments = GetMonthlyPayments(paymentInfo, "1819-R09"), MayR10Payments = GetMonthlyPayments(paymentInfo, "1819-R10"), JuneR11Payments = GetMonthlyPayments(paymentInfo, "1819-R11"), JulyR12Payments = GetMonthlyPayments(paymentInfo, "1819-R12"), R13Payments = GetMonthlyPayments(paymentInfo, "1819-R13"), R14Payments = GetMonthlyPayments(paymentInfo, "1819-R14") }; model.TotalEarnings = BuildTotalEarnings(model); model.TotalPaymentsYearToDate = BuildTotalTotalPayments(model); appsAdditionalPaymentsModels.Add(model); } } appsAdditionalPaymentsModels = BuildAppsAdditionalPaymentsResultModel(appsAdditionalPaymentsModels); return(appsAdditionalPaymentsModels); }