예제 #1
0
        private void ValidarQuartos(Reserva reserva)
        {
            foreach (var quartoReserva in reserva.Quartos)
            {
                var quarto = quartoRepositorio.Obter(quartoReserva.Id);
                if (quarto == null)
                {
                    throw new QuartoInexistenteException(quartoReserva.Id);
                }

                if (quartoReserva.Hospedes.Count > quarto.Capacidade)
                {
                    throw new QuartoLotadoException(quarto.Id);
                }

                var dataIndisponivel = repositorioResumo.existeReservaNaData(quarto.Id, reserva.Checkin, reserva.Checkout);
                if (dataIndisponivel)
                {
                    throw new QuartoIndisponivelException(quarto.Id);
                }
            }
        }
예제 #2
0
 public Quarto Obter(int id)
 {
     return(quartoRepositorio.Obter(id));
 }