Пример #1
0
        public IActionResult Post([FromBody] ReservaDto reservaDto)
        {
            var trecho = trechoRepository.Obter(reservaDto.IdTrecho);

            if (trecho == null)
            {
                return(BadRequest());
            }
            var classeDeVoo = classeDeVooRepository.Obter(reservaDto.IdClasseDeVoo);

            if (classeDeVoo == null)
            {
                return(BadRequest());
            }
            List <Opcional> opcionais = new List <Opcional>();
            var             usuario   = usuarioRepository.Obter(reservaDto.IdUsuario);

            foreach (var item in reservaDto.IdOpcionais)
            {
                var opcionalCadastrado = opcionalRepository.Obter(item);
                if (opcionalCadastrado == null)
                {
                    return(BadRequest());
                }
                opcionais.Add(opcionalCadastrado);
            }

            var reserva = new Reserva(trecho, classeDeVoo, opcionais, usuario);

            reserva.ValorTotalDoVoo = reserva.ValorTotal();
            reservaRepository.SalvarReserva(reserva);
            contexto.SaveChanges();
            return(CreatedAtRoute("GetReserva", new { id = reserva.Id }, reserva));
        }
Пример #2
0
        public IActionResult Get(int id)
        {
            var opcional = opcionalRepository.Obter(id);

            if (opcional == null)
            {
                return(BadRequest());
            }
            return(Ok(opcional));
        }
        public IActionResult Get(int id)
        {
            var opcional = opcionalRepository.Obter(id);

            if (opcional == null)
            {
                return(NotFound("Opcional não encontrado"));
            }

            return(Ok(opcional));
        }
        public IActionResult Get(int id)
        {
            var opcional = opcionalRepository.Obter(id);

            var mensagem = opcionalService.Validar(opcional);

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

            return(Ok(opcional));
        }
        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));
        }
Пример #6
0
        Reserva CriarReserva(CriarReservaModel model)
        {
            var cliente = _clienteRepository.Obter(model.IdCliente);

            var reserva = new Reserva(cliente, model.Diarias);

            var produto = _produtoRepository.Obter(model.IdProduto);

            reserva.SelecionarProduto(produto);

            var pacote = _pacoteRepository.Obter(model.IdPacote);

            reserva.SelecionarPacote(pacote);

            foreach (var opcionalModel in model.Opcionais)
            {
                var opcional = _opcionalRepository.Obter(opcionalModel.IdOpcional);
                reserva.SelecionarOpcional(opcional, 1);
            }

            return(reserva);
        }