Exemple #1
0
        public void GivenTheFollowingPaymentsHaveBeenMadeToTheProviderAForLearnerA(string providerName, string learnerRefererenceNumber, Table table)
        {
            var context = new EarningsAndPaymentsContext();

            TransactionTypeTableParser.ParseTransactionTypeTableIntoContext(context, providerName, table);


            var learningDetails = SubmissionContext.HistoricalLearningDetails.Where(x => x.LearnerReference.Equals(learnerRefererenceNumber, StringComparison.InvariantCultureIgnoreCase)).Single();

            long learnerUln;

            if (!string.IsNullOrEmpty(learningDetails.Uln))
            {
                learnerUln = long.Parse(learningDetails.Uln);
                LookupContext.AddUln(learnerRefererenceNumber, learnerUln);
            }
            else
            {
                learnerUln = LookupContext.AddOrGetUln(learnerRefererenceNumber);
            }


            var provider = LookupContext.AddOrGetUkprn(providerName);

            var commitment = CommitmentsContext.Commitments.FirstOrDefault(x => x.ProviderId == providerName && x.LearnerId == learnerRefererenceNumber);

            CreatePayment(context.ProviderEarnedForOnProgramme, provider, learnerUln, learnerRefererenceNumber, commitment, learningDetails, TransactionType.OnProgram, commitment == null ? FundingSource.CoInvestedSfa : FundingSource.Levy);
            CreatePayment(context.ProviderEarnedForLearningSupport, provider, learnerUln, learnerRefererenceNumber, commitment, learningDetails, TransactionType.LearningSupport, FundingSource.FullyFundedSfa);
            CreatePayment(context.ProviderEarnedForFrameworkUpliftOnProgramme, provider, learnerUln, learnerRefererenceNumber, commitment, learningDetails, TransactionType.OnProgramme16To18FrameworkUplift, FundingSource.FullyFundedSfa);
        }
Exemple #2
0
        public void ThenTheTransactionTypesForNamedProviderEarningsAre(string providerIdSuffix, Table transactionTypes)
        {
            if (!SubmissionContext.HaveSubmissionsBeenDone)
            {
                SubmissionContext.SubmissionResults = SubmissionManager.SubmitIlrAndRunMonthEndAndCollateResults(SubmissionContext.IlrLearnerDetails, SubmissionContext.FirstSubmissionDate,
                                                                                                                 LookupContext, EmployerAccountContext.EmployerAccounts, SubmissionContext.ContractTypes, SubmissionContext.EmploymentStatus, SubmissionContext.LearningSupportStatus);
                SubmissionContext.HaveSubmissionsBeenDone = true;
            }

            TransactionTypeTableParser.ParseTransactionTypeTableIntoContext(EarningsAndPaymentsContext, $"provider {providerIdSuffix}", transactionTypes);
            AssertResults();
        }
Exemple #3
0
        public void GivenTheFollowingPaymentsWillBeAddedForReversal(Table table)
        {
            var context = new EarningsAndPaymentsContext();

            TransactionTypeTableParser.ParseTransactionTypeTableIntoContext(context, "", table);

            foreach (var row in context.ProviderEarnedForOnProgramme)
            {
                var month = Int32.Parse(row.PeriodName.Split('/')[0]);
                var year  = Int32.Parse($"20" + row.PeriodName.Split('/')[1]);
                PaymentsManager.AddRequiredPaymentForReversal(month, year, row.Value, TransactionType.OnProgram);
            }
        }