Exemple #1
0
        private async Task <ReservationValidationResult> CheckReservationIfRequired(ReservationValidationServiceRequest request)
        {
            if (request.ReservationId == null)
            {
                _logger.Info($"Commitment:{request.CommitmentId} Apprenticeship: {request.ApprenticeshipId} Reservation-id:null - no reservation validation required");
                return(NoValidationRequiredResponse);
            }

            if (request.StartDate == null)
            {
                throw new ValidationException(
                          $"Unable to validate the reservation because the start date is absent");
            }

            var validationReservationMessage = new ReservationValidationMessage
            {
                ReservationId = request.ReservationId.Value,
                CourseCode    = request.TrainingCode,
                StartDate     = request.StartDate.Value
            };

            var validationResult =
                await _reservationsApiClient.ValidateReservation(validationReservationMessage, CancellationToken.None);

            return(validationResult);
        }
        public async Task <Domain.Entities.Reservations.ReservationValidationResult> Validate(ReservationValidationRequest request, CancellationToken cancellationToken)
        {
            var mappedRequest = await _requestMapper.Map(request);

            var result = await _apiClient.ValidateReservation(mappedRequest, cancellationToken);

            return(await _resultMapper.Map(result));
        }
Exemple #3
0
        public async Task <GetReservationValidationResponse> Handle(GetReservationValidationRequest request, CancellationToken cancellationToken)
        {
            var validationReservationMessage = new ReservationValidationMessage
            {
                StartDate     = request.StartDate,
                CourseCode    = request.CourseCode,
                ReservationId = request.ReservationId
            };

            var result = await _reservationClient.ValidateReservation(validationReservationMessage, CancellationToken.None);

            return(new GetReservationValidationResponse
            {
                Data = result
            });
        }