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