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)); }
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 }); }