private IlrBuilder() { Submission = new IlrSubmission { Ukprn = Defaults.Ukprn, Learners = new Learner[0] }; }
private static IlrSubmission BuildIlrSubmission(ProviderSubmissionDetails providerDetails, LookupContext lookupContext, List <ContractTypeReferenceData> contractTypes, List <EmploymentStatusReferenceData> employmentStatus, List <LearningSupportReferenceData> learningSupportStatus) { var learners = (from x in providerDetails.LearnerDetails group x by x.LearnerId into g select BuildLearner(g.ToArray(), lookupContext, contractTypes, employmentStatus, learningSupportStatus)).ToArray(); var submission = new IlrSubmission { Ukprn = providerDetails.Ukprn, Learners = learners }; for (var i = 0; i < submission.Learners.Length; i++) { submission.Learners[i].LearnRefNumber = (i + 1).ToString(); } return(submission); }
private static IlrSubmission BuildIlrSubmission(ProviderSubmissionDetails providerDetails, string period, LookupContext lookupContext, List <ContractTypeReferenceData> contractTypes, List <EmploymentStatusReferenceData> employmentStatus, List <LearningSupportReferenceData> learningSupportStatus) { var learners = (from x in providerDetails.LearnerDetails group x by x.LearnerReference into g select BuildLearner(g.ToArray(), period, lookupContext, contractTypes, employmentStatus, learningSupportStatus)).ToArray(); var submission = new IlrSubmission { Ukprn = providerDetails.Ukprn, AcademicYear = period.ToPeriodDateTime().GetAcademicYear(), PreperationDate = period.ToPeriodDateTime().AddDays(27), Learners = learners }; for (var i = 0; i < submission.Learners.Length; i++) { if (string.IsNullOrEmpty(submission.Learners[i].LearnRefNumber)) { submission.Learners[i].LearnRefNumber = (i + 1).ToString(); } i++; } return(submission); }
protected void SubmitIlr(Provider provider, string academicYear, DateTime date, ProcessService processService) { var submissionLearners = provider.Learners.Select(l => { var learner = new Learner { Name = l.Name, Uln = l.Uln, LearnRefNumber = l.LearnRefNumber, DateOfBirth = l.DateOfBirth, EmploymentStatuses = l.EmploymentStatuses }; foreach (var ld in l.LearningDeliveries) { learner.LearningDeliveries.Add( new LearningDelivery { LearningDeliveryFams = ld.LearningDeliveryFams, LearnerType = ld.LearnerType, StartDate = ld.StartDate, PlannedEndDate = ld.PlannedEndDate, ActualEndDate = date >= ld.ActualEndDate ? ld.ActualEndDate : null, CompletionStatus = ld.CompletionStatus, StandardCode = ld.StandardCode, FrameworkCode = ld.FrameworkCode, PathwayCode = ld.PathwayCode, ProgrammeType = ld.ProgrammeType, PriceEpisodes = ld.PriceEpisodes, Type = ld.Type }); } return(learner); }).ToArray(); IlrSubmission submission = IlrBuilder.CreateAIlrSubmission() .WithUkprn(provider.Ukprn) .WithMultipleLearners() .WithLearners(submissionLearners); AcceptanceTestDataHelper.AddCurrentActivePeriod(date.Year, date.Month, EnvironmentVariables); var ilrStatusWatcher = new TestStatusWatcher(EnvironmentVariables, $"Submit ILR to {date:dd/MM/yy}"); processService.RunIlrSubmission(submission, EnvironmentVariables, ilrStatusWatcher); var periodEarnings = EarningsDataHelper.GetPeriodisedValuesForUkprnSummary(provider.Ukprn, EnvironmentVariables).LastOrDefault() ?? new PeriodisedValuesEntity(); PopulateEarnedByPeriodValues(academicYear, provider.EarnedByPeriod, periodEarnings); //populate by Uln values var periodEarningsByUln = EarningsDataHelper.GetPeriodisedValuesForUkprn(provider.Ukprn, EnvironmentVariables); PopulateEarnedByPeriodByUln(academicYear, provider.EarnedByPeriodByUln, periodEarningsByUln); var dataLockMatches = DataLockDataHelper.GetDataLockMatchesForUkprn(provider.Ukprn, EnvironmentVariables) ?? new DataLockMatch[0]; provider.DataLockMatchesByPeriod.Add(date.GetPeriod(), dataLockMatches); }
private static void BuildAndSubmitIlr(ProviderSubmissionDetails providerDetails, string period, LookupContext lookupContext, List <ContractTypeReferenceData> contractTypes, List <EmploymentStatusReferenceData> employmentStatus, List <LearningSupportReferenceData> learningSupportStatus) { IlrSubmission submission = BuildIlrSubmission(providerDetails, period, lookupContext, contractTypes, employmentStatus, learningSupportStatus); TestEnvironment.ProcessService.RunIlrSubmission(submission, TestEnvironment.Variables, new LoggingStatusWatcher($"ILR submission for provider {providerDetails.ProviderId} in {period}")); }
protected IlrLearnerBuilder(IlrSubmission submission, Learner learner) : base(submission) { Learner = learner; }
protected IlrBuilder(IlrSubmission submission) { Submission = submission; }