public Locacao Criar(int idCliente, int idVeiculo, int idPacote,
                             DateTime dataEntregaPrevista, List <int> idLocacaoOpcional)
        {
            Pacote pacote  = null;
            var    cliente = contexto.Clientes.FirstOrDefault(c => c.Id == idCliente);
            var    veiculo = contexto.Veiculos.FirstOrDefault(v => v.Id == idVeiculo);

            if (idPacote > 0)
            {
                pacote = contexto.Pacotes.FirstOrDefault(p => p.Id == idPacote);
            }


            var locacao = new Locacao(veiculo, cliente, pacote, dataEntregaPrevista);

            if (idLocacaoOpcional != null)
            {
                foreach (var id in idLocacaoOpcional)
                {
                    var opcional = contexto.Opcionais.FirstOrDefault(o => o.Id == id);
                    locacao.LocacaoOpcionais.Add(new LocacaoOpcional(locacao, opcional));
                }
            }


            locacao.calcularValorInicialLocacao();
            locacao.atualizarEstoqueItens();

            return(locacao);
        }