コード例 #1
0
        public IActionResult Get(int id)
        {
            var suite = suiteRepository.Obter(id);

            var mensagem = suiteService.Validar(suite);

            if (mensagem.Any())
            {
                return(BadRequest(mensagem));
            }

            return(Ok(suite));
        }
コード例 #2
0
        public IActionResult Post([FromBody] ReservaDto reservaRequest)
        {
            var usuario = usuarioRepository.ObterUsuarioPorEmail(User.Identity.Name);

            var suite = suiteRepository.Obter(reservaRequest.IdSuite);

            if (usuario == null)
            {
                return(NotFound("Nenhum usuário foi encontrado"));
            }

            var opcionais = new List <Opcional>();

            foreach (var opcional in reservaRequest.IdOpcionais)
            {
                var opcionalCadastrado = opcionalRepository.Obter(opcional);
                if (opcionalCadastrado == null)
                {
                    return(NotFound("Nenhum opcional foi encontrado"));
                }
                opcionais.Add(opcionalCadastrado);
            }

            var reserva = new Reserva(usuario, suite, reservaRequest.NumeroPessoas, reservaRequest.DataInicio, reservaRequest.DataFim, opcionais);

            var reservaCadastrada = reservaRepository.SalvarReserva(reserva);

            var mensagem = reservaService.Validar(reservaCadastrada);

            if (mensagem.Any())
            {
                return(BadRequest(mensagem));
            }

            reservaOpcionalRepository.SalvarReservaOpcional(reserva);

            contexto.SaveChanges();

            return(Ok(reserva));
        }