public ProcessTest()
        {
            Conexao = new ConexaoNpgSql();


            try
            {
                Conexao.AbrirConexao();
                TemConexao = Conexao.ConexaoAberta();
                Conexao.FecharConexao();
            }
            catch
            {
                TemConexao = false;
            }
            ListTurnos = new Dictionary <string, Dictionary <string, int> >();
        }
        public ProcessTest()
        {
            var os = Environment.OSVersion;

            Conexao    = new ConexaoNpgSql(os.Platform == PlatformID.Unix);
            mostrarLog = true;


            try
            {
                Conexao.AbrirConexao();
                TemConexao = Conexao.ConexaoAberta();
                Conexao.FecharConexao();
            }
            catch
            {
                TemConexao = false;
            }
            ListTurnos = new Dictionary <string, Dictionary <string, int> >();
        }
        public string Call(string NomeDaFuncao, params string[] ListaParam)
        {
            if (TemConexao)
            {
                Conexao.AbrirConexao();
                if (Conexao.ConexaoAberta())
                {
                    try
                    {
                        string select = "select " + NomeDaFuncao + "(";
                        for (var x = 0; x <= ListaParam.Length - 1; x++)
                        {
                            if (x == 0)
                            {
                                select += "@CP" + x.ToString();
                            }
                            else
                            {
                                select += ",@CP" + x.ToString();
                            }
                        }
                        select += ") as ID";

                        NpgsqlCommand cmd = new NpgsqlCommand(select, Conexao.Conn);
                        for (var x = 0; x <= ListaParam.Length - 1; x++)
                        {
                            string Conteudo = ListaParam[x].Substring(0, ListaParam[x].IndexOf(":"));
                            string Value    = ListaParam[x].Remove(0, ListaParam[x].IndexOf(":") + 1);
                            if (Conteudo.ToLower().IndexOf("_id") > 0)
                            {
                                cmd.Parameters.AddWithValue("CP" + x.ToString(), Convert.ToInt32(Value));
                            }
                            else
                            {
                                cmd.Parameters.AddWithValue("CP" + x.ToString(), Value);
                            }
                        }
                        string           Result = "";
                        NpgsqlDataReader dr     = cmd.ExecuteReader();
                        if (dr.HasRows && dr.Read())
                        {
                            Result = dr["ID"].ToString();
                        }
                        dr.Close();
                        return(Result);
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(Print("Call", ex));
                    }
                }
                else
                {
                    Console.Error.WriteLine("Falha de conexão com o banco do relatório");
                    return("1");
                }
            }
            else
            {
                Console.Error.WriteLine("Falha de conexão com o banco do relatório");
                return("1");
            }
        }