public string GetFundingType( LearningDeliveryValues learningDeliveryValues, PriceEpisodeValues priceEpisodeValues) { if (learningDeliveryValues != null && learningDeliveryValues.LearnDelMathEng.GetValueOrDefault(false)) { return(learningDeliveryValues.LearnDelInitialFundLineType); } if (priceEpisodeValues != null) { return(priceEpisodeValues.PriceEpisodeFundLineType); } return(string.Empty); }
public ApprenticeshipBuilder BuildSimpleApprenticeship(TestSession session, LearningDeliveryValues learningDeliveryValues, long id) { if (apprenticeship == null) { apprenticeship = new ApprenticeshipModel(); } apprenticeship.Id = id; apprenticeship.Ukprn = session.Provider.Ukprn; apprenticeship.AccountId = session.Employer.AccountId; apprenticeship.Uln = session.Learner.Uln; apprenticeship.StandardCode = learningDeliveryValues.StdCode ?? 0; apprenticeship.ProgrammeType = learningDeliveryValues.ProgType; apprenticeship.Status = ApprenticeshipStatus.Active; apprenticeship.LegalEntityName = session.Employer.AccountName; apprenticeship.EstimatedStartDate = new DateTime(2019, 08, 01); apprenticeship.EstimatedEndDate = new DateTime(2020, 08, 06); apprenticeship.AgreedOnDate = DateTime.UtcNow; apprenticeship.FrameworkCode = learningDeliveryValues.FworkCode ?? 0; apprenticeship.PathwayCode = learningDeliveryValues.PwayCode ?? 0; return(this); }
public void Build_SingleRow() { var reportServiceContext = Mock.Of <IReportServiceContext>(); var dependentDataMock = new Mock <IReportServiceDependentData>(); var actLearningDeliveryFam = new Mock <ILearningDeliveryFAM>(); actLearningDeliveryFam.SetupGet(fam => fam.LearnDelFAMType).Returns("ACT"); actLearningDeliveryFam.SetupGet(fam => fam.LearnDelFAMCode).Returns("1"); var albLearningDeliveryFam = new Mock <ILearningDeliveryFAM>(); albLearningDeliveryFam.SetupGet(fam => fam.LearnDelFAMType).Returns("ALB"); var learningDeliveryFams = new List <ILearningDeliveryFAM>() { actLearningDeliveryFam.Object, albLearningDeliveryFam.Object, }; var providerSpecDeliveryMonitorings = new List <IProviderSpecDeliveryMonitoring>() { new TestProviderSpecDeliveryMonitoring(), }; var learningDelivery = new TestLearningDelivery() { FundModel = 36, LearnAimRef = "learnAimRef", AimSeqNumber = 1, LearningDeliveryFAMs = learningDeliveryFams, ProviderSpecDeliveryMonitorings = providerSpecDeliveryMonitorings, StdCodeNullable = 1 }; var providerSpecLearnerMonitorings = new List <IProviderSpecLearnerMonitoring>() { new TestProviderSpecLearnerMonitoring(), }; var learner = new TestLearner() { LearnRefNumber = "LearnRefNumber", LearningDeliveries = new List <ILearningDelivery>() { learningDelivery }, ProviderSpecLearnerMonitorings = providerSpecLearnerMonitorings, }; var message = new TestMessage() { Learners = new List <ILearner>() { learner } }; var larsLearningDelivery = new LARSLearningDelivery() { LearnAimRef = "learnAimRef", LearnAimRefTitle = "A", NotionalNVQLevel = "B", SectorSubjectAreaTier2 = 3 }; var larsStandard = new LARSStandard() { StandardCode = 1, NotionalEndLevel = "NotionalEndLevel" }; var referenceDataRoot = new ReferenceDataRoot() { LARSLearningDeliveries = new List <LARSLearningDelivery>() { larsLearningDelivery }, LARSStandards = new List <LARSStandard>() { larsStandard } }; var priceEpisodeValues = new PriceEpisodeValues() { EpisodeStartDate = new DateTime(2020, 08, 08), PriceEpisodeAimSeqNumber = 1 }; var priceEpisodes = new PriceEpisode() { PriceEpisodeValues = priceEpisodeValues, PriceEpisodePeriodisedValues = new List <PriceEpisodePeriodisedValues>() { BuildPriceEpisodePeriodisedValuesForAttribute(AttributeConstants.Fm36PriceEpisodeOnProgPaymentAttributeName), BuildPriceEpisodePeriodisedValuesForAttribute(AttributeConstants.Fm3PriceEpisodeBalancePaymentAttributeName), BuildPriceEpisodePeriodisedValuesForAttribute(AttributeConstants.Fm36PriceEpisodeCompletionPaymentAttributeName), BuildPriceEpisodePeriodisedValuesForAttribute(AttributeConstants.Fm36PriceEpisodeLSFCashAttributeName), BuildPriceEpisodePeriodisedValuesForAttribute(AttributeConstants.Fm36PriceEpisodeFirstDisadvantagePaymentAttributeName), BuildPriceEpisodePeriodisedValuesForAttribute(AttributeConstants.Fm36PriceEpisodeSecondDisadvantagePaymentAttributeName), BuildPriceEpisodePeriodisedValuesForAttribute(AttributeConstants.Fm36PriceEpisodeFirstEmp1618PayAttributeName), BuildPriceEpisodePeriodisedValuesForAttribute(AttributeConstants.Fm36PriceEpisodeSecondEmp1618PayAttributeName), BuildPriceEpisodePeriodisedValuesForAttribute(AttributeConstants.Fm36PriceEpisodeFirstProv1618PayAttributeName), BuildPriceEpisodePeriodisedValuesForAttribute(AttributeConstants.Fm36PriceEpisodeSecondProv1618PayAttributeName), BuildPriceEpisodePeriodisedValuesForAttribute(AttributeConstants.Fm36PriceEpisodeLearnerAdditionalPaymentAttributeName), BuildPriceEpisodePeriodisedValuesForAttribute(AttributeConstants.Fm36PriceEpisodeApplic1618FrameworkUpliftOnProgPaymentAttributeName), BuildPriceEpisodePeriodisedValuesForAttribute(AttributeConstants.Fm36PriceEpisodeApplic1618FrameworkUpliftBalancingAttributeName), BuildPriceEpisodePeriodisedValuesForAttribute(AttributeConstants.Fm36PriceEpisodeApplic1618FrameworkUpliftCompletionPaymentAttributeName), } }; var learningDeliveryValues = new LearningDeliveryValues(); var appsLearningDelivery = new LearningDelivery() { AimSeqNumber = 1, LearningDeliveryValues = learningDeliveryValues, LearningDeliveryPeriodisedValues = new List <LearningDeliveryPeriodisedValues>() { BuildLearningDeliveryPeriodisedValuesForAttribute(AttributeConstants.Fm36MathEngOnProgPayment), BuildLearningDeliveryPeriodisedValuesForAttribute(AttributeConstants.Fm36MathEngBalPayment), BuildLearningDeliveryPeriodisedValuesForAttribute(AttributeConstants.Fm36LearnSuppFundCash) } }; var fm36Global = new FM36Global() { Learners = new List <FM36Learner>() { new FM36Learner() { LearnRefNumber = "LearnRefNumber", LearningDeliveries = new List <LearningDelivery>() { appsLearningDelivery, }, PriceEpisodes = new List <PriceEpisode>() { priceEpisodes } } } }; dependentDataMock.Setup(d => d.Get <IMessage>()).Returns(message); dependentDataMock.Setup(d => d.Get <ReferenceDataRoot>()).Returns(referenceDataRoot); dependentDataMock.Setup(d => d.Get <FM36Global>()).Returns(fm36Global); var providerSpecDeliveryMonitoringModel = new ProviderSpecDeliveryMonitoringModel(); var providerSpecLearnerMonitoringModel = new ProviderSpecLearnerMonitoringModel(); var learningDeliveryFamsModel = new LearningDeliveryFAMsModel(); var ilrModelMapperMock = new Mock <IIlrModelMapper>(); ilrModelMapperMock.Setup(m => m.MapLearningDeliveryFAMs(learningDeliveryFams)).Returns(learningDeliveryFamsModel); ilrModelMapperMock.Setup(m => m.MapProviderSpecDeliveryMonitorings(providerSpecDeliveryMonitorings)).Returns(providerSpecDeliveryMonitoringModel); ilrModelMapperMock.Setup(m => m.MapProviderSpecLearnerMonitorings(providerSpecLearnerMonitorings)).Returns(providerSpecLearnerMonitoringModel); var result = NewBuilder(ilrModelMapperMock.Object).Build(reportServiceContext, dependentDataMock.Object).ToList(); result.Should().HaveCount(1); var row = result[0]; row.Learner.Should().Be(learner); row.LearningDelivery.Should().Be(learningDelivery); row.LarsLearningDelivery.Should().Be(larsLearningDelivery); row.Fm36LearningDelivery.Should().Be(learningDeliveryValues); row.ProviderSpecDeliveryMonitoring.Should().Be(providerSpecDeliveryMonitoringModel); row.ProviderSpecLearnerMonitoring.Should().Be(providerSpecLearnerMonitoringModel); row.PeriodisedValues.Should().NotBeNull(); row.LearningDeliveryFAMs.Should().Be(learningDeliveryFamsModel); row.PeriodisedValues.August.AdditionalPaymentsForApprentices.Should().Be((decimal)1.111); row.PeriodisedValues.August.AimCompletionEarnings.Should().Be((decimal)1.111); row.PeriodisedValues.August.BalancingPaymentEarnings.Should().Be((decimal)1.111); row.PeriodisedValues.August.EnglishMathsBalancingPaymentEarnings.Should().Be((decimal)1.111); row.PeriodisedValues.August.EnglishMathsOnProgrammeEarnings.Should().Be((decimal)1.111); row.PeriodisedValues.August.FrameworkUpliftBalancingPayment1618.Should().Be((decimal)1.111); row.PeriodisedValues.August.FrameworkUpliftCompletionPayment1618.Should().Be((decimal)1.111); row.PeriodisedValues.August.FrameworkUpliftOnProgrammePayment1618.Should().Be((decimal)1.111); row.PeriodisedValues.August.LearningSupportEarnings.Should().Be((decimal)1.111); row.PeriodisedValues.August.OnProgrammeEarnings.Should().Be((decimal)1.111); row.PeriodisedValues.August.DisadvantageEarnings.Should().Be((decimal)2.222); row.PeriodisedValues.May.DisadvantageEarnings.Should().Be((decimal)20.2020); row.PeriodisedValues.August.AdditionalPaymentForEmployers1618.Should().Be((decimal)2.222); row.PeriodisedValues.May.AdditionalPaymentForEmployers1618.Should().Be((decimal)20.2020); row.PeriodisedValues.August.AdditionalPaymentForProviders1618.Should().Be((decimal)2.222); row.PeriodisedValues.May.AdditionalPaymentForProviders1618.Should().Be((decimal)20.2020); //var csvService = new CsvService(new FileServiceStub()); //csvService.WriteAsync<AppsIndicativeEarningsReportModel, AppsIndicativeEarningsReportClassMap>(result, "AppsIndicativeEarningsReport.csv", "", CancellationToken.None).ConfigureAwait(false); }