Example #1
0
        public async Task <string> GetStandardAsync(
            int learningDeliveryStandardCode,
            CancellationToken cancellationToken)
        {
            await _getStandardsLock.WaitAsync(cancellationToken);

            try
            {
                if (cancellationToken.IsCancellationRequested)
                {
                    return(null);
                }

                if (!_loadedStandards.ContainsKey(learningDeliveryStandardCode))
                {
                    using (var context = _larsContext())
                    {
                        LarsStandard larsStandard = await context.LARS_Standards
                                                    .SingleOrDefaultAsync(l => l.StandardCode == learningDeliveryStandardCode, cancellationToken);

                        _loadedStandards[learningDeliveryStandardCode] = larsStandard?.NotionalEndLevel ?? "NA";
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.LogError("Failed to get LARS standards", ex);
            }
            finally
            {
                _getStandardsLock.Release();
            }

            return(_loadedStandards[learningDeliveryStandardCode]);
        }
        public bool Testcase(DateTime effectivefrom, DateTime effectiveto)
        {
            // Arrange
            var sut = new LarsStandard
            {
                EffectiveFrom = effectivefrom,
                EffectiveTo   = effectiveto
            };

            // Act
            return(sut.IsValidDate(DateTime.UtcNow));
        }
        public void Then_The_Fields_Are_Mapped_Correctly(LarsStandard larsStandard)
        {
            var actual = (StandardDates)larsStandard;

            actual.Should().BeEquivalentTo(larsStandard, options => options
                                           .Excluding(c => c.LarsCode)
                                           .Excluding(c => c.Version)
                                           .Excluding(c => c.Standards)
                                           .Excluding(c => c.SectorSubjectArea)
                                           .Excluding(c => c.SectorSubjectAreaTier2)
                                           .Excluding(c => c.OtherBodyApprovalRequired)
                                           );
        }
        public void ShouldBeInvalidIfTheEndDateIsInThePast()
        {
            // Arrange
            var sut = new LarsStandard
            {
                EffectiveFrom = DateTime.MaxValue,
                EffectiveTo   = DateTime.UtcNow.AddYears(-1)
            };

            // Act
            var result = sut.IsValidDate(DateTime.UtcNow);

            // Assert
            Assert.IsFalse(result);
        }
        public void ShouldBeInvalidIfTheStartDateIsInTheFuture()
        {
            // Arrange
            var sut = new LarsStandard
            {
                EffectiveFrom = DateTime.MaxValue,
                EffectiveTo   = null
            };

            // Act
            var result = sut.IsValidDate(DateTime.UtcNow);

            // Assert
            Assert.IsFalse(result);
        }
        public void ShouldBeInvalidIfItHasNoStartDate()
        {
            // Arrange
            var sut = new LarsStandard
            {
                EffectiveFrom = null,
                EffectiveTo   = null
            };

            // Act
            var result = sut.IsValidDate(DateTime.UtcNow);

            // Assert
            Assert.IsFalse(result);
        }
        public void ShouldBeValidIfTheStartDateisTodayAndEndDateIsInFuture()
        {
            // Arrange
            var sut = new LarsStandard
            {
                EffectiveFrom = DateTime.UtcNow,
                EffectiveTo   = DateTime.MaxValue
            };

            // Act
            var result = sut.IsValidDate(DateTime.UtcNow);

            // Assert
            Assert.IsTrue(result);
        }
        public void ShouldBeValidIfItHasNoEndDate()
        {
            // Arrange
            var sut = new LarsStandard
            {
                EffectiveFrom = DateTime.MinValue,
                EffectiveTo   = null
            };

            // Act
            var result = sut.IsValidDate(DateTime.UtcNow);

            // Assert
            Assert.IsTrue(result);
        }
Example #9
0
 public StandardLars CreateLarsStandardDocument(LarsStandard standard)
 {
     return(new StandardLars
     {
         Id = standard.Id,
         Title = standard.Title,
         StandardSectorCode = standard.StandardSectorCode,
         NotionalEndLevel = standard.NotionalEndLevel,
         SectorSubjectAreaTier1 = standard.SectorSubjectAreaTier1,
         SectorSubjectAreaTier2 = standard.SectorSubjectAreaTier2,
         Duration = standard.Duration,
         FundingPeriods = standard.FundingPeriods,
         FundingCap = standard.FundingCap,
         EffectiveFrom = standard.EffectiveFrom,
         EffectiveTo = standard.EffectiveTo,
         LastDateForNewStarts = standard.LastDateForNewStarts,
         RegulatedStandard = standard.RegulatedStandard
     });
 }
        private StandardRepositoryData MapStandardData(LarsStandard larsStandard)
        {
            var standardRepositoryData = new StandardRepositoryData
            {
                Id            = larsStandard.Id,
                Title         = larsStandard.Title,
                JobRoles      = new List <string>(),
                Keywords      = new List <string>(),
                TypicalLength = new TypicalLength {
                    Unit = "m"
                },
                OverviewOfRole           = string.Empty,
                EntryRequirements        = string.Empty,
                WhatApprenticesWillLearn = string.Empty,
                Qualifications           = string.Empty,
                ProfessionalRegistration = string.Empty,
                Duration   = larsStandard.Duration,
                FundingCap = larsStandard.FundingCap
            };

            return(standardRepositoryData);
        }