private static void ParseDataLockStatusRows(SubmissionDataLockContext context, string learnerId, Table dataLockStatusTable, string[] periodNames) { foreach (var row in dataLockStatusTable.Rows) { if (row[0] == "On-program") { ParseRow(learnerId, row, periodNames, context.DataLockStatusForOnProgramme); } else if (row[0] == "Completion") { ParseRow(learnerId, row, periodNames, context.DataLockStatusForCompletion); } else if (row[0] == "Balancing") { ParseRow(learnerId, row, periodNames, context.DataLockStatusForBalancing); } else if (row[0] == "Employer 16-18 incentive") { ParseRow(learnerId, row, periodNames, context.DataLockStatusForEmployer16To18Incentive); } else if (row[0] == "Provider 16-18 incentive") { ParseRow(learnerId, row, periodNames, context.DataLockStatusForProvider16To18Incentive); } else if (row[0] == "English and maths on programme") { ParseRow(learnerId, row, periodNames, context.DataLockStatusForEnglishAndMathOnProgramme); } else if (row[0] == "English and maths Balancing") { ParseRow(learnerId, row, periodNames, context.DataLockStatusForEnglishAndMathBalancing); } else if (row[0] == "Provider disadvantage uplift") { ParseRow(learnerId, row, periodNames, context.DataLockStatusForDisadvantageUplift); } else if (row[0] == "Framework uplift on-program") { ParseRow(learnerId, row, periodNames, context.DataLockStatusForFrameworkUpliftOnProgramme); } else if (row[0] == "Framework uplift completion") { ParseRow(learnerId, row, periodNames, context.DataLockStatusForFrameworkUpliftCompletion); } else if (row[0] == "Framework uplift balancing") { ParseRow(learnerId, row, periodNames, context.DataLockStatusForFrameworkUpliftBalancing); } else if (row[0] == "Provider learning support") { ParseRow(learnerId, row, periodNames, context.DataLockStatusForLearningSupport); } else { throw new ArgumentException($"Unexpected data lock row type of '{row[0]}'"); } } }
internal static void ParseDataLockStatusTableIntoContext(SubmissionDataLockContext dataLockContext, string learnerId, Table dataLockStatusTable) { if (dataLockStatusTable.Rows.Count < 1) { throw new ArgumentException("Data Lock status table must have at least 1 row"); } var periodNames = ParseDataLockStatusHeaders(dataLockStatusTable); ParseDataLockStatusRows(dataLockContext, learnerId, dataLockStatusTable, periodNames); }
public EarningAndPaymentSteps(EmployerAccountContext employerAccountContext, EarningsAndPaymentsContext earningsAndPaymentsContext, DataLockContext dataLockContext, SubmissionDataLockContext submissionDataLockContext, SubmissionContext submissionContext, LookupContext lookupContext, CommitmentsContext commitmentsContext) { EmployerAccountContext = employerAccountContext; EarningsAndPaymentsContext = earningsAndPaymentsContext; DataLockContext = dataLockContext; SubmissionDataLockContext = submissionDataLockContext; SubmissionContext = submissionContext; LookupContext = lookupContext; CommitmentsContext = commitmentsContext; }
public static void AssertPaymentsAndEarningsResults(SubmissionDataLockContext dataLockContext, SubmissionContext submissionContext) { if (TestEnvironment.ValidateSpecsOnly) { return; } var submissionResults = submissionContext.SubmissionResults.ToArray(); new OnProgrammeDataLockRule().AssertPaymentTypeDataLockMatches(dataLockContext.DataLockStatusForOnProgramme, submissionResults); new CompletionDataLockRule().AssertPaymentTypeDataLockMatches(dataLockContext.DataLockStatusForCompletion, submissionResults); new BalancingDataLockRule().AssertPaymentTypeDataLockMatches(dataLockContext.DataLockStatusForBalancing, submissionResults); new DisadvantageUpliftDataLockRule().AssertPaymentTypeDataLockMatches(dataLockContext.DataLockStatusForDisadvantageUplift, submissionResults); new Employer16To18IncentiveDataLockRule().AssertPaymentTypeDataLockMatches(dataLockContext.DataLockStatusForEmployer16To18Incentive, submissionResults); new Provider16To18IncentiveDataLockRule().AssertPaymentTypeDataLockMatches(dataLockContext.DataLockStatusForProvider16To18Incentive, submissionResults); new EnglishAndMathsOnProgrammeDataLockRule().AssertPaymentTypeDataLockMatches(dataLockContext.DataLockStatusForEnglishAndMathOnProgramme, submissionResults); new EnglishAndMathsBalancingDataLockRule().AssertPaymentTypeDataLockMatches(dataLockContext.DataLockStatusForEnglishAndMathBalancing, submissionResults); new FrameworkUpliftOnProgrammeDataLockRule().AssertPaymentTypeDataLockMatches(dataLockContext.DataLockStatusForFrameworkUpliftOnProgramme, submissionResults); new FrameworkUpliftCompletionDataLockRule().AssertPaymentTypeDataLockMatches(dataLockContext.DataLockStatusForFrameworkUpliftCompletion, submissionResults); new FrameworkUpliftBalancingDataLockRule().AssertPaymentTypeDataLockMatches(dataLockContext.DataLockStatusForFrameworkUpliftBalancing, submissionResults); new LearningSupportDataLockRule().AssertPaymentTypeDataLockMatches(dataLockContext.DataLockStatusForLearningSupport, submissionResults); }
public SubmissionDataLockSteps(SubmissionDataLockContext submissonDataLockContext) { SubmissionDataLockContext = submissonDataLockContext; }