Beispiel #1
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);
        }
Beispiel #2
0
        protected void SubmitMonthEnd(DateTime date, ProcessService processService)
        {
            var summarisationStatusWatcher = new TestStatusWatcher(EnvironmentVariables, $"Summarise {date:dd/MM/yy}");

            processService.RunSummarisation(EnvironmentVariables, summarisationStatusWatcher);
        }