示例#1
0
        public HttpResponseMessage Calcular([FromBody] CriarReservaModel model)
        {
            var reserva = CriarReserva(model);

            return(ResponderOK(new
            {
                TotalProduto = reserva.Produto == null ? 0 : reserva.Produto.Diaria,
                TotalPacote = reserva.Pacote == null ? 0 : reserva.Pacote.Valor,
                TotalDescontos = reserva.Pacote == null ? 0 : reserva.Pacote.Desconto,
                reserva.TotalReserva,
                reserva.TotalOpcionais
            }));
        }
示例#2
0
        public HttpResponseMessage Post([FromBody] CriarReservaModel model)
        {
            var reserva = CriarReserva(model);

            if (reserva.IsValid())
            {
                _reservaRepository.Criar(reserva);
                Commit();
            }
            else
            {
                return(ResponderErro(reserva.Messages));
            }

            return(ResponderOK(new { reserva.Id }));
        }
示例#3
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);
        }