Exemplo n.º 1
0
 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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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}"));
        }
Exemplo n.º 6
0
 protected IlrLearnerBuilder(IlrSubmission submission, Learner learner)
     : base(submission)
 {
     Learner = learner;
 }
Exemplo n.º 7
0
 protected IlrBuilder(IlrSubmission submission)
 {
     Submission = submission;
 }