예제 #1
0
        private async Task SetPriceEpisodeStartDate(string priceEpisodeIdentifier, string commitmentIdentifier, int numberOfDays, Func <DateTime, DateTime, bool> startDateIsAlreadyCorrect)
        {
            var actualPriceEpisodeStartDate = TestSession.FM36Global.Learners.Single().PriceEpisodes.Single(x => x.PriceEpisodeIdentifier == priceEpisodeIdentifier).PriceEpisodeValues.EpisodeEffectiveTNPStartDate.GetValueOrDefault();
            var apprenticeship = await testDataContext.Apprenticeship.Include(x => x.ApprenticeshipPriceEpisodes).SingleAsync(x => x.Id == TestSession.Apprenticeships[commitmentIdentifier].Id);

            if (startDateIsAlreadyCorrect(actualPriceEpisodeStartDate, apprenticeship.EstimatedStartDate))
            {
                return;
            }

            apprenticeship.EstimatedStartDate = actualPriceEpisodeStartDate.AddDays(numberOfDays);
            apprenticeship.ApprenticeshipPriceEpisodes.Single().StartDate = actualPriceEpisodeStartDate.AddDays(numberOfDays);
            await testDataContext.SaveChangesAsync();
        }