Exemple #1
0
 public BaseControllerTest()
 {
     fixture     = new Fixture();
     _service    = Substitute.For <IReservaService>();
     _request    = fixture.Create <ObterReservasRequest>();
     _response   = fixture.Create <ObterReservasResponse>();
     _controller = new ReservasController(_logger, _service);
 }
Exemple #2
0
        public async Task <BaseResponse> ListarReservas(ObterReservasRequest query)
        {
            var hospedeDto = await _hospedesRepository.ObterHospede(query.HospedeId);

            if (hospedeDto == null)
            {
                return new BaseResponse {
                           StatusCode = StatusCodes.Status400BadRequest, Mensagem = "Não foi possível obter informações sobre o hóspede informado."
                }
            }
            ;

            var reservasDto = await _reservasRepository.ObterReservas(query.HospedeId, query.Inativa);

            if (reservasDto == null)
            {
                return new BaseResponse {
                           StatusCode = StatusCodes.Status404NotFound, Mensagem = "Nenhuma reserva foi encontrada."
                }
            }
            ;

            var acompanhanteDto = await _acompanhantesRepository.ObterAcompanhantes(query.HospedeId);

            var hospede      = _mapper.Map <Hospede>(hospedeDto);
            var reservas     = _mapper.Map <List <Reserva> >(reservasDto);
            var acompanhante = _mapper.Map <List <Acompanhante> >(acompanhanteDto);

            foreach (var reserva in reservas)
            {
                reserva.Acompanhantes = new List <Acompanhante>();

                reserva.Acompanhantes.AddRange(acompanhante.Where(x => x.ReservaId == reserva.ReservaId));
            }

            var result = new ObterReservasResponse {
                StatusCode = StatusCodes.Status200OK, Mensagem = "Reservas retornadas com sucesso.", Hospede = hospede, Reservas = reservas
            };

            return(result);
        }
    }
}