public async Task <bool> RemovePathwayAssessmentEntryAsync(RemoveAssessmentEntryRequest model)
        {
            var pathwayAssessment = await _pathwayAssessmentRepository.GetFirstOrDefaultAsync(pa => pa.Id == model.AssessmentId && pa.IsOptedin &&
                                                                                              pa.EndDate == null && pa.TqRegistrationPathway.Status == RegistrationPathwayStatus.Active &&
                                                                                              pa.TqRegistrationPathway.TqProvider.TqAwardingOrganisation.TlAwardingOrganisaton.UkPrn == model.AoUkprn &&
                                                                                              !pa.TqPathwayResults.Any(x => x.IsOptedin && x.EndDate == null));

            if (pathwayAssessment == null)
            {
                return(false);
            }

            pathwayAssessment.IsOptedin  = false;
            pathwayAssessment.EndDate    = DateTime.UtcNow;
            pathwayAssessment.ModifiedOn = DateTime.UtcNow;
            pathwayAssessment.ModifiedBy = model.PerformedBy;

            return(await _pathwayAssessmentRepository.UpdateAsync(pathwayAssessment) > 0);
        }
Esempio n. 2
0
        public async Task WhenAsync(long aoUkprn, long uln, bool isActiveAssessment)
        {
            TqPathwayAssessment pathwayAssessment = null;

            if (isActiveAssessment)
            {
                pathwayAssessment = _pathwayAssessments.FirstOrDefault(pa => pa.IsOptedin && pa.EndDate == null && pa.TqRegistrationPathway.TqRegistrationProfile.UniqueLearnerNumber == uln);
            }
            else
            {
                pathwayAssessment = _pathwayAssessments.FirstOrDefault(pa => !pa.IsOptedin && pa.EndDate != null && pa.TqRegistrationPathway.TqRegistrationProfile.UniqueLearnerNumber == uln);
            }

            var assessmentId = pathwayAssessment != null ? pathwayAssessment.Id : 0;

            var removeAssessmentEntryRequest = new RemoveAssessmentEntryRequest {
                AoUkprn = aoUkprn, AssessmentId = assessmentId, PerformedBy = "Test User"
            };

            _result = await AssessmentService.RemovePathwayAssessmentEntryAsync(removeAssessmentEntryRequest);
        }
        public override void Setup()
        {
            _tokenServiceClient = Substitute.For <ITokenServiceClient>();

            _configuration = new ResultsAndCertificationConfiguration
            {
                ResultsAndCertificationInternalApiSettings = new ResultsAndCertificationInternalApiSettings {
                    Uri = "http://tlevel.api.com"
                }
            };

            _mockHttpResult = true;

            _model = new RemoveAssessmentEntryRequest
            {
                AoUkprn       = 1,
                AssessmentId  = 5,
                ComponentType = Common.Enum.ComponentType.Core,
                PerformedBy   = "Test User"
            };
        }
        public async Task <bool> RemoveAssessmentEntryAsync(RemoveAssessmentEntryRequest model)
        {
            var requestUri = ApiConstants.RemoveAssessmentEntryUri;

            return(await PutAsync <RemoveAssessmentEntryRequest, bool>(requestUri, model));
        }