public IHttpActionResult Post(PedidoModel pedidoModel)
        {
            var imovel  = repositorioImoveis.ObterPorId(pedidoModel.Imovel.Id);
            var combo   = repositorioCombos.ObterPorId(pedidoModel.Combo.Id);
            var cliente = repositorioClientes.ObterPorId(pedidoModel.Cliente.Id);

            repositorioEstoque.RetirarImovelEstoque(imovel.Id, combo.Id);

            var pedido = new Pedido()
            {
                Imovel              = imovel,
                Combo               = combo,
                Cliente             = cliente,
                DataVenda           = DateTime.Now,
                DataEntregaPrevista = DateTime.Now.AddDays(pedidoModel.DiasAluguel),
                Adicionais          = new List <PedidoAdicional>()
            };

            foreach (var adicional in pedidoModel.Adicionais)
            {
                var adc = repositorioAdicionais.ObterPorId(adicional.Id);
                pedido.Adicionais.Add(new PedidoAdicional()
                {
                    Adicional  = adc,
                    Pedido     = pedido,
                    Quantidade = 1
                });
                adc.Quantidade -= 1;
                repositorioAdicionais.Alterar(adc);
            }
            pedido.CalcularPrecoLocacao();
            repositorio.Criar(pedido);
            return(Ok());
        }
        public HttpResponseMessage GetById(int id)
        {
            var imovel = repositorio.ObterPorId(id);

            if (imovel == null)
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound,
                                              new { error = "Não existe imovel com o id informado" }));
            }
            return(Request.CreateResponse(HttpStatusCode.OK, new { data = imovel }));
        }