Exemplo n.º 1
0
        public IEnumerable <ALB_LearningDelivery_Period> MapLearningDeliveryPeriods(ALBGlobal albGlobal)
        {
            var periodisedValues = albGlobal.Learners
                                   .SelectMany(l => l.LearningDeliveries.Select(ld =>
                                                                                new FundModelLearningDeliveryPeriodisedValue <List <LearningDeliveryPeriodisedValue> >(albGlobal.UKPRN, l.LearnRefNumber, ld.AimSeqNumber, ld.LearningDeliveryPeriodisedValues)));

            var learningDeliveryPeriods = new List <ALB_LearningDelivery_Period>();

            for (var i = 1; i < 13; i++)
            {
                learningDeliveryPeriods.AddRange(
                    periodisedValues.Select(pv =>
                                            new ALB_LearningDelivery_Period
                {
                    UKPRN                              = pv.Ukprn,
                    LearnRefNumber                     = pv.LearnRefNumber,
                    AimSeqNumber                       = pv.AimSeqNumber,
                    Period                             = i,
                    ALBCode                            = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, int?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == ALBConstants.ALBCode), i),
                    ALBSupportPayment                  = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == ALBConstants.ALBSupportPayment), i),
                    AreaUpliftBalPayment               = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == ALBConstants.AreaUpliftBalPayment), i),
                    AreaUpliftOnProgPayment            = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == ALBConstants.AreaUpliftOnProgPayment), i),
                    LearnDelCarLearnPilotBalPayment    = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == ALBConstants.LearnDelCarLearnPilotBalPayment), i),
                    LearnDelCarLearnPilotOnProgPayment = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == ALBConstants.LearnDelCarLearnPilotOnProgPayment), i)
                }));
            }

            return(learningDeliveryPeriods);
        }
        public IEnumerable <ESF_LearningDeliveryDeliverable_Period> MapLearningDeliveryDeliverablePeriods(FM70Global fm70Global)
        {
            var periodisedValues = fm70Global.Learners.SelectMany(l => l.LearningDeliveries
                                                                  .SelectMany(ld => ld.LearningDeliveryDeliverableValues.Select(ldd =>
                                                                                                                                new FundModelESFLearningDeliveryPeriodisedValue <List <LearningDeliveryDeliverablePeriodisedValue> >(fm70Global.UKPRN, l.LearnRefNumber, ld.AimSeqNumber.Value, ldd.DeliverableCode, ldd.LearningDeliveryDeliverablePeriodisedValues))));

            var learningDeliveryDeliverablePeriods = new List <ESF_LearningDeliveryDeliverable_Period>();

            for (var i = 1; i < 13; i++)
            {
                learningDeliveryDeliverablePeriods.AddRange(
                    periodisedValues.Select(pv =>
                                            new ESF_LearningDeliveryDeliverable_Period
                {
                    UKPRN                      = pv.Ukprn,
                    LearnRefNumber             = pv.LearnRefNumber,
                    AimSeqNumber               = pv.AimSeqNumber,
                    DeliverableCode            = pv.EsfDeliverableCode,
                    Period                     = i,
                    AchievementEarnings        = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryDeliverablePeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM70Constants.AchievementEarnings), i),
                    AdditionalProgCostEarnings = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryDeliverablePeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM70Constants.AdditionalProgCostEarnings), i),
                    DeliverableVolume          = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryDeliverablePeriodisedValue, long?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM70Constants.DeliverableVolume), i),
                    ProgressionEarnings        = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryDeliverablePeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM70Constants.ProgressionEarnings), i),
                    ReportingVolume            = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryDeliverablePeriodisedValue, int?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM70Constants.ReportingVolume), i),
                    StartEarnings              = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryDeliverablePeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM70Constants.StartEarnings), i),
                }));
            }

            return(learningDeliveryDeliverablePeriods);
        }
        public IEnumerable <TBL_LearningDelivery_Period> BuildLearningDeliveryPeriods(IEnumerable <FundModelLearningDeliveryPeriodisedValue <List <LearningDeliveryPeriodisedValue> > > periodisedValues)
        {
            var learningDeliveryPeriods = new List <TBL_LearningDelivery_Period>();

            for (var i = 1; i < 13; i++)
            {
                learningDeliveryPeriods.AddRange(
                    periodisedValues.Select(pv =>
                                            new TBL_LearningDelivery_Period
                {
                    UKPRN                 = pv.Ukprn,
                    LearnRefNumber        = pv.LearnRefNumber,
                    AimSeqNumber          = pv.AimSeqNumber,
                    Period                = i,
                    AchPayment            = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM81Constants.AchPayment), i),
                    CoreGovContPayment    = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM81Constants.CoreGovContPayment), i),
                    CoreGovContUncapped   = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM81Constants.CoreGovContUncapped), i),
                    InstPerPeriod         = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, int?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM81Constants.InstPerPeriod), i),
                    LearnSuppFund         = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, bool?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM81Constants.LearnSuppFund), i),
                    LearnSuppFundCash     = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM81Constants.LearnSuppFundCash), i),
                    MathEngBalPayment     = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM81Constants.MathEngBalPayment), i),
                    MathEngBalPct         = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM81Constants.MathEngBalPct), i),
                    MathEngOnProgPayment  = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM81Constants.MathEngOnProgPayment), i),
                    MathEngOnProgPct      = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM81Constants.MathEngOnProgPct), i),
                    SmallBusPayment       = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM81Constants.SmallBusPayment), i),
                    YoungAppFirstPayment  = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM81Constants.YoungAppFirstPayment), i),
                    YoungAppPayment       = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM81Constants.YoungAppPayment), i),
                    YoungAppSecondPayment = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM81Constants.YoungAppSecondPayment), i),
                }));
            }

            return(learningDeliveryPeriods);
        }
Exemplo n.º 4
0
        public void LearningDeliveryPeriodisedValue()
        {
            var learningDeliveryPeriodisedValue = new LearningDeliveryPeriodisedValue();

            learningDeliveryPeriodisedValue.Period1 = 1.1m;

            PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(learningDeliveryPeriodisedValue, 1).Should().Be(1.1m);
        }
Exemplo n.º 5
0
        public void LearningDeliveryPeriodisedValue_PerformanceTest()
        {
            var learningDeliveryPeriodisedValue = new LearningDeliveryPeriodisedValue();

            learningDeliveryPeriodisedValue.Period1 = 1.1m;

            for (int i = 0; i < 10000000; i++)
            {
                PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(learningDeliveryPeriodisedValue, 1);
            }
        }
Exemplo n.º 6
0
        public IEnumerable <AEC_LearningDelivery_Period> MapLearningDeliveryPeriods(FM36Global fm36Global)
        {
            var periodisedValues = fm36Global.Learners
                                   .SelectMany(l => l.LearningDeliveries.Select(ld =>
                                                                                new FundModel36LearningDeliveryPeriodisedValue(fm36Global.UKPRN, l.LearnRefNumber, ld.AimSeqNumber, ld.LearningDeliveryPeriodisedValues, ld.LearningDeliveryPeriodisedTextValues)));

            var learningDeliveryPeriods = new List <AEC_LearningDelivery_Period>();

            for (var i = 1; i < 13; i++)
            {
                learningDeliveryPeriods.AddRange(
                    periodisedValues.Select(pv =>
                                            new AEC_LearningDelivery_Period
                {
                    UKPRN               = pv.Ukprn,
                    LearnRefNumber      = pv.LearnRefNumber,
                    AimSeqNumber        = pv.AimSeqNumber,
                    Period              = i,
                    DisadvFirstPayment  = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.DisadvFirstPayment), i),
                    DisadvSecondPayment = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.DisadvSecondPayment), i),
                    FundLineType        = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedTextValues, string>(pv.LearningDeliveryPeriodisedTextValue.FirstOrDefault(a => a.AttributeName == FM36Constants.FundLineType), i),
                    InstPerPeriod       = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, int?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.InstPerPeriod), i),
                    LDApplic1618FrameworkUpliftBalancingPayment  = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.LDApplic1618FrameworkUpliftBalancingPayment), i),
                    LDApplic1618FrameworkUpliftCompletionPayment = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.LDApplic1618FrameworkUpliftCompletionPayment), i),
                    LDApplic1618FrameworkUpliftOnProgPayment     = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.LDApplic1618FrameworkUpliftOnProgPayment), i),
                    LearnDelContType                   = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedTextValues, string>(pv.LearningDeliveryPeriodisedTextValue.FirstOrDefault(a => a.AttributeName == FM36Constants.LearnDelContType), i),
                    LearnDelFirstEmp1618Pay            = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, int?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.LearnDelFirstEmp1618Pay), i),
                    LearnDelFirstProv1618Pay           = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.LearnDelFirstProv1618Pay), i),
                    LearnDelLearnAddPayment            = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.LearnDelLearnAddPayment), i),
                    LearnDelLevyNonPayInd              = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, int?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.LearnDelLevyNonPayInd), i),
                    LearnDelSecondEmp1618Pay           = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.LearnDelSecondEmp1618Pay), i),
                    LearnDelSecondProv1618Pay          = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.LearnDelSecondProv1618Pay), i),
                    LearnDelSEMContWaiver              = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, bool?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.LearnDelSEMContWaiver), i),
                    LearnDelSFAContribPct              = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.LearnDelSFAContribPct), i),
                    LearnSuppFund                      = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, bool?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.LearnSuppFund), i),
                    LearnSuppFundCash                  = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.LearnSuppFundCash), i),
                    MathEngBalPayment                  = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.MathEngBalPayment), i),
                    MathEngBalPct                      = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.MathEngBalPct), i),
                    MathEngOnProgPayment               = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.MathEngOnProgPayment), i),
                    MathEngOnProgPct                   = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.MathEngOnProgPct), i),
                    ProgrammeAimBalPayment             = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.ProgrammeAimBalPayment), i),
                    ProgrammeAimCompletionPayment      = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.ProgrammeAimCompletionPayment), i),
                    ProgrammeAimOnProgPayment          = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.ProgrammeAimOnProgPayment), i),
                    ProgrammeAimProgFundIndMaxEmpCont  = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.ProgrammeAimProgFundIndMaxEmpCont), i),
                    ProgrammeAimProgFundIndMinCoInvest = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.ProgrammeAimProgFundIndMinCoInvest), i),
                    ProgrammeAimTotProgFund            = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValues, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.ProgrammeAimTotProgFund), i),
                }));
            }

            return(learningDeliveryPeriods);
        }
Exemplo n.º 7
0
        public IEnumerable <AEC_ApprenticeshipPriceEpisode_Period> MapPriceEpisodePeriods(FM36Global fm36Global)
        {
            var periodisedValues = fm36Global.Learners
                                   .SelectMany(l => l.PriceEpisodes.Select(pe =>
                                                                           new FundModelPriceEpisodePeriodisedValue <List <PriceEpisodePeriodisedValues> >(fm36Global.UKPRN, l.LearnRefNumber, pe.PriceEpisodeIdentifier, pe.PriceEpisodePeriodisedValues)));

            var learningDeliveryPeriods = new List <AEC_ApprenticeshipPriceEpisode_Period>();

            for (var i = 1; i < 13; i++)
            {
                learningDeliveryPeriods.AddRange(
                    periodisedValues.Select(pv =>
                                            new AEC_ApprenticeshipPriceEpisode_Period
                {
                    UKPRN                  = pv.Ukprn,
                    LearnRefNumber         = pv.LearnRefNumber,
                    PriceEpisodeIdentifier = pv.PriceEpisodeIdentifier,
                    Period                 = i,
                    PriceEpisodeApplic1618FrameworkUpliftBalancing         = PeriodisedValueHelper.GetPeriodValue <PriceEpisodePeriodisedValues, decimal?>(pv.PriceEpisodePeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.PriceEpisodeApplic1618FrameworkUpliftBalancing), i),
                    PriceEpisodeApplic1618FrameworkUpliftCompletionPayment = PeriodisedValueHelper.GetPeriodValue <PriceEpisodePeriodisedValues, decimal?>(pv.PriceEpisodePeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.PriceEpisodeApplic1618FrameworkUpliftCompletionPayment), i),
                    PriceEpisodeApplic1618FrameworkUpliftOnProgPayment     = PeriodisedValueHelper.GetPeriodValue <PriceEpisodePeriodisedValues, decimal?>(pv.PriceEpisodePeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.PriceEpisodeApplic1618FrameworkUpliftOnProgPayment), i),
                    PriceEpisodeBalancePayment           = PeriodisedValueHelper.GetPeriodValue <PriceEpisodePeriodisedValues, decimal?>(pv.PriceEpisodePeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.PriceEpisodeBalancePayment), i),
                    PriceEpisodeBalanceValue             = PeriodisedValueHelper.GetPeriodValue <PriceEpisodePeriodisedValues, decimal?>(pv.PriceEpisodePeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.PriceEpisodeBalanceValue), i),
                    PriceEpisodeCompletionPayment        = PeriodisedValueHelper.GetPeriodValue <PriceEpisodePeriodisedValues, decimal?>(pv.PriceEpisodePeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.PriceEpisodeCompletionPayment), i),
                    PriceEpisodeFirstDisadvantagePayment = PeriodisedValueHelper.GetPeriodValue <PriceEpisodePeriodisedValues, decimal?>(pv.PriceEpisodePeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.PriceEpisodeFirstDisadvantagePayment), i),
                    PriceEpisodeFirstEmp1618Pay          = PeriodisedValueHelper.GetPeriodValue <PriceEpisodePeriodisedValues, decimal?>(pv.PriceEpisodePeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.PriceEpisodeFirstEmp1618Pay), i),
                    PriceEpisodeFirstProv1618Pay         = PeriodisedValueHelper.GetPeriodValue <PriceEpisodePeriodisedValues, decimal?>(pv.PriceEpisodePeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.PriceEpisodeFirstProv1618Pay), i),
                    PriceEpisodeInstalmentsThisPeriod    = PeriodisedValueHelper.GetPeriodValue <PriceEpisodePeriodisedValues, int?>(pv.PriceEpisodePeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.PriceEpisodeInstalmentsThisPeriod), i),
                    PriceEpisodeLevyNonPayInd            = PeriodisedValueHelper.GetPeriodValue <PriceEpisodePeriodisedValues, int?>(pv.PriceEpisodePeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.PriceEpisodeLevyNonPayInd), i),
                    PriceEpisodeLSFCash                   = PeriodisedValueHelper.GetPeriodValue <PriceEpisodePeriodisedValues, decimal?>(pv.PriceEpisodePeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.PriceEpisodeLSFCash), i),
                    PriceEpisodeOnProgPayment             = PeriodisedValueHelper.GetPeriodValue <PriceEpisodePeriodisedValues, decimal?>(pv.PriceEpisodePeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.PriceEpisodeOnProgPayment), i),
                    PriceEpisodeProgFundIndMaxEmpCont     = PeriodisedValueHelper.GetPeriodValue <PriceEpisodePeriodisedValues, decimal?>(pv.PriceEpisodePeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.PriceEpisodeProgFundIndMaxEmpCont), i),
                    PriceEpisodeProgFundIndMinCoInvest    = PeriodisedValueHelper.GetPeriodValue <PriceEpisodePeriodisedValues, decimal?>(pv.PriceEpisodePeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.PriceEpisodeProgFundIndMinCoInvest), i),
                    PriceEpisodeSecondDisadvantagePayment = PeriodisedValueHelper.GetPeriodValue <PriceEpisodePeriodisedValues, decimal?>(pv.PriceEpisodePeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.PriceEpisodeSecondDisadvantagePayment), i),
                    PriceEpisodeSecondEmp1618Pay          = PeriodisedValueHelper.GetPeriodValue <PriceEpisodePeriodisedValues, decimal?>(pv.PriceEpisodePeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.PriceEpisodeSecondEmp1618Pay), i),
                    PriceEpisodeSecondProv1618Pay         = PeriodisedValueHelper.GetPeriodValue <PriceEpisodePeriodisedValues, decimal?>(pv.PriceEpisodePeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.PriceEpisodeSecondProv1618Pay), i),
                    PriceEpisodeSFAContribPct             = PeriodisedValueHelper.GetPeriodValue <PriceEpisodePeriodisedValues, decimal?>(pv.PriceEpisodePeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.PriceEpisodeSFAContribPct), i),
                    PriceEpisodeTotProgFunding            = PeriodisedValueHelper.GetPeriodValue <PriceEpisodePeriodisedValues, decimal?>(pv.PriceEpisodePeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.PriceEpisodeTotProgFunding), i),
                    PriceEpisodeLearnerAdditionalPayment  = PeriodisedValueHelper.GetPeriodValue <PriceEpisodePeriodisedValues, decimal?>(pv.PriceEpisodePeriodisedValue.FirstOrDefault(a => a.AttributeName == FM36Constants.PriceEpisodeLearnerAdditionalPayment), i),
                }));
            }

            return(learningDeliveryPeriods);
        }
        public List <ALB_Learner_Period> BuildLearnerPeriods(IEnumerable <FundModelLearnerPeriodisedValue <List <LearnerPeriodisedValue> > > periodisedValues, int ukprn)
        {
            var learnerPeriods = new List <ALB_Learner_Period>();

            for (var i = 1; i < 13; i++)
            {
                learnerPeriods.AddRange(
                    periodisedValues.Select(pv =>
                                            new ALB_Learner_Period
                {
                    UKPRN          = ukprn,
                    LearnRefNumber = pv.LearnRefNumber,
                    Period         = i,
                    ALBSeqNum      = PeriodisedValueHelper.GetPeriodValue <LearnerPeriodisedValue, int?>(pv.LearnerPeriodisedValue.FirstOrDefault(a => a.AttributeName == ALBConstants.ALBSeqNum), i),
                }));
            }

            return(learnerPeriods);
        }
        public IEnumerable <FM35_LearningDelivery_Period> MapLearningDeliveryPeriods(FM35Global fm35Global)
        {
            var periodisedValues = fm35Global.Learners
                                   .SelectMany(l => l.LearningDeliveries.Select(ld =>
                                                                                new FundModelLearningDeliveryPeriodisedValue <List <LearningDeliveryPeriodisedValue> >(fm35Global.UKPRN, l.LearnRefNumber, ld.AimSeqNumber.Value, ld.LearningDeliveryPeriodisedValues)));

            var learningDeliveryPeriods = new List <FM35_LearningDelivery_Period>();

            for (var i = 1; i < 13; i++)
            {
                learningDeliveryPeriods.AddRange(
                    periodisedValues.Select(pv =>
                                            new FM35_LearningDelivery_Period
                {
                    UKPRN                  = pv.Ukprn,
                    LearnRefNumber         = pv.LearnRefNumber,
                    AimSeqNumber           = pv.AimSeqNumber,
                    Period                 = i,
                    AchievePayPct          = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM35Constants.AchievePayPct), i),
                    AchievePayPctTrans     = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM35Constants.AchievePayPctTrans), i),
                    AchievePayment         = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM35Constants.AchievePayment), i),
                    BalancePayment         = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM35Constants.BalancePayment), i),
                    BalancePaymentUncapped = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM35Constants.BalancePaymentUncapped), i),
                    BalancePct             = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM35Constants.BalancePct), i),
                    BalancePctTrans        = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM35Constants.BalancePctTrans), i),
                    EmpOutcomePay          = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM35Constants.EmpOutcomePay), i),
                    EmpOutcomePct          = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM35Constants.EmpOutcomePct), i),
                    EmpOutcomePctTrans     = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM35Constants.EmpOutcomePctTrans), i),
                    InstPerPeriod          = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, int?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM35Constants.InstPerPeriod), i),
                    LearnSuppFund          = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, bool?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM35Constants.LearnSuppFund), i),
                    LearnSuppFundCash      = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM35Constants.LearnSuppFundCash), i),
                    OnProgPayment          = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM35Constants.OnProgPayment), i),
                    OnProgPayPct           = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM35Constants.OnProgPayPct), i),
                    OnProgPayPctTrans      = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM35Constants.OnProgPayPctTrans), i),
                    OnProgPaymentUncapped  = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM35Constants.OnProgPaymentUncapped), i),
                    TransInstPerPeriod     = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, int?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == FM35Constants.TransInstPerPeriod), i)
                }));
            }

            return(learningDeliveryPeriods);
        }
Exemplo n.º 10
0
        public IEnumerable <ALB_Learner_Period> MapLearnerPeriods(ALBGlobal albGlobal)
        {
            var periodisedValues = albGlobal.Learners.Select(l => new FundModelLearnerPeriodisedValue <List <LearnerPeriodisedValue> >(albGlobal.UKPRN, l.LearnRefNumber, l.LearnerPeriodisedValues));

            var learnerPeriods = new List <ALB_Learner_Period>();

            for (var i = 1; i < 13; i++)
            {
                learnerPeriods.AddRange(
                    periodisedValues.Select(pv =>
                                            new ALB_Learner_Period
                {
                    UKPRN          = pv.Ukprn,
                    LearnRefNumber = pv.LearnRefNumber,
                    Period         = i,
                    ALBSeqNum      = PeriodisedValueHelper.GetPeriodValue <LearnerPeriodisedValue, int?>(pv.LearnerPeriodisedValue.FirstOrDefault(a => a.AttributeName == ALBConstants.ALBSeqNum), i),
                }));
            }

            return(learnerPeriods);
        }
        public IEnumerable <ALB_LearningDelivery_Period> BuildLearningDeliveryPeriods(IEnumerable <FundModelLearningDeliveryPeriodisedValue <List <LearningDeliveryPeriodisedValue> > > periodisedValues, int ukprn)
        {
            var learningDeliveryPeriods = new List <ALB_LearningDelivery_Period>();

            for (var i = 1; i < 13; i++)
            {
                learningDeliveryPeriods.AddRange(
                    periodisedValues.Select(pv =>
                                            new ALB_LearningDelivery_Period
                {
                    UKPRN                   = ukprn,
                    LearnRefNumber          = pv.LearnRefNumber,
                    AimSeqNumber            = pv.AimSeqNumber,
                    Period                  = i,
                    ALBCode                 = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, int?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == ALBConstants.ALBCode), i),
                    ALBSupportPayment       = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == ALBConstants.ALBSupportPayment), i),
                    AreaUpliftBalPayment    = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == ALBConstants.AreaUpliftBalPayment), i),
                    AreaUpliftOnProgPayment = PeriodisedValueHelper.GetPeriodValue <LearningDeliveryPeriodisedValue, decimal?>(pv.LearningDeliveryPeriodisedValue.FirstOrDefault(a => a.AttributeName == ALBConstants.AreaUpliftOnProgPayment), i)
                }));
            }

            return(learningDeliveryPeriods);
        }