public static void procInserirAluguerSemCliente()
        {
            try {
                using (var ctx = new TestesSI2Entities())
                {
                    Console.WriteLine("Dados do novo Cliente  -----------------");
                    printQuestoesCliente();
                    Console.WriteLine("Dados do novo Aluguer  -----------------");
                    printQuestoesAluguer();

                    printPromocoes(ctx);
                    printQuestoesPromocao();
                    aplicarTempoExtra(ctx);

                    var idC = new ObjectParameter("idCliente", 0);
                    var id  = new ObjectParameter("idAluguer", 0);
                    tuplos = ctx.InserirAluguerSemCliente(niff, nomee, moradaa, idC, duracaoAlg, numEmp, Convert.ToDateTime(dI), Convert.ToDateTime(dF), id);

                    Console.WriteLine("id Cliente gerado : " + idC.Value + "  id Aluguer gerado : " + id.Value);

                    do
                    {
                        printEquipamentos(ctx);
                        Console.WriteLine("Que equipamentos quer adicionar ao Alguer criado ? (Coloque o ID) (para sair pressione -> q)");
                        idEq = Console.ReadLine();

                        if (idEq.Equals("q"))
                        {
                            break;
                        }

                        printEspecificos(ctx);
                        Console.WriteLine("Que equipamentos quer adicionar ao Alguer criado ?? (coloque a duracao) ");
                        string aux = Console.ReadLine();

                        if (aux.Equals(""))
                        {
                            break;
                        }
                        duracaoEq = Convert.ToInt32(aux);

                        buscarPreco(ctx);

                        float percentagem = 0;
                        foreach (var row in ctx.BuscarPercentagem(idDesconto, id2Promocoes))
                        {
                            percentagem += Convert.ToInt16(row.Value);
                        }

                        preco = Convert.ToInt32(((100 - percentagem) / 100) * preco);

                        tuplos += ctx.InserirAluguerEquipamentos(preco, Convert.ToInt32(id.Value), Convert.ToInt32(idEq));
                    } while (true);
                }
                Console.WriteLine("Insercao concluida, foram afectados " + tuplos + " tuplos");
                Console.ReadKey();
            }catch (Exception ex)
            {
                Console.WriteLine("E R R O : " + ex.InnerException.Message);
                Console.WriteLine("***********************************************************************");
            }
        }
        public static void procInserirAluguerComCliente()
        {
            try {
                using (var ctx = new TestesSI2Entities())
                {
                    Console.WriteLine("Estes sao os Clientes existentes -------------------\nCODIGO|  NIF   |     NOME   |      MORADA");
                    printClientes(ctx);

                    Console.WriteLine("\nEscolha um dos Clientes (codigo NIF):");
                    niff = Convert.ToInt32(Console.ReadLine());

                    if (niff <= 0)
                    {
                        Console.WriteLine("O NIF que colocou esta incorrecto, volte a tentar");
                        printClientes(ctx);
                    }

                    printQuestoesAluguer();

                    int num = 0;
                    foreach (var i in ctx.Cliente1.Where(x => x.nif == niff).Select(x => x.codigo))
                    {
                        num = i;
                    }

                    printPromocoes(ctx);
                    printQuestoesPromocao();
                    aplicarTempoExtra(ctx);

                    var id = new ObjectParameter("id", 0);
                    tuplos += ctx.InserirAluguerComCliente(Convert.ToDateTime(dI), Convert.ToDateTime(dF), duracaoAlg, numEmp, num, id);

                    Console.WriteLine("ID gerado : " + id.Value);

                    do
                    {
                        printEquipamentos(ctx);
                        Console.WriteLine("Que equipamentos quer adicionar ao Alguer criado ? (Coloque o ID) (para sair pressione -> q)");
                        idEq = Console.ReadLine();

                        if (idEq.Equals("q"))
                        {
                            break;
                        }

                        printEspecificos(ctx);
                        Console.WriteLine("Que equipamentos quer adicionar ao Alguer criado ? (coloque a duracao) ");
                        string aux = Console.ReadLine();

                        if (aux.Equals(""))
                        {
                            break;
                        }
                        duracaoEq = Convert.ToInt32(aux);

                        buscarPreco(ctx);

                        float percentagem = 0;
                        foreach (var row in ctx.BuscarPercentagem(idDesconto, id2Promocoes))
                        {
                            percentagem += Convert.ToInt16(row.Value);
                        }

                        preco = Convert.ToInt32(((100 - percentagem) / 100) * preco);

                        tuplos += ctx.InserirAluguerEquipamentos(Convert.ToDecimal(preco), Convert.ToInt32(id.Value), Convert.ToInt32(idEq));
                    } while (true);
                }
                Console.WriteLine("Adicao concluida, foram afectados " + tuplos + " tuplos");
                Console.ReadKey();
            }catch (Exception ex)
            {
                Console.WriteLine("E R R O : " + ex.InnerException.Message);
                Console.WriteLine("***********************************************************************");
            }
        }