/// <summary>
        /// Metodo responsavel por executar as querys sem consulta
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public bool ExecuteNonQuery()
        {
            #region Declaração

            SqlCommand comando = null;
            int        retorno;

            #endregion Declaração

            #region Implementação

            try
            {
                //Instancia a classe
                comando = new SqlCommand(query, this.conexao);

                //Tipo da instrução que será executada
                if (commandType != System.Data.CommandType.StoredProcedure &&
                    commandType != System.Data.CommandType.Text &&
                    commandType != System.Data.CommandType.TableDirect)
                {
                    commandType = System.Data.CommandType.Text;
                }

                //Adiciona os parametros
                if (parametros != null && parametros.Count > 0)
                {
                    comando.Parameters.AddRange(parametros.ToArray());
                }

                //Executa o comando de delete no banco de dados
                retorno = comando.ExecuteNonQuery();

                //Retorna o valor
                return(retorno == 0 ? false : true);
            }
            catch (Exception ex)
            {
                string sql = string.Empty;

                if (comando != null)
                {
                    sql = ConvertSqlCommanToSql.SqlCommandToSql(comando);
                }

                throw new Exception(string.Format("Erro: {1} \n Query: {0} ", sql, ex.Message), ex.InnerException);

                //throw ex;
            }
            finally
            {
                if (comando != null)
                {
                    comando.Dispose();
                    comando = null;
                }
            }

            #endregion Implementação
        }
        /// <summary>
        /// Metodo responsavel por executar as query retornando um datatable
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public DataTable ExecuteReader()
        {
            #region Declaração

            DataTable     table   = null;
            SqlCommand    comando = null;
            SqlDataReader reader  = null;

            #endregion Declaração

            #region Implementação

            try
            {
                //Instancia a classe
                comando = new SqlCommand(query, this.conexao);

                //Tipo da instrução que será executada
                if (commandType != System.Data.CommandType.StoredProcedure &&
                    commandType != System.Data.CommandType.Text &&
                    commandType != System.Data.CommandType.TableDirect)
                {
                    commandType = System.Data.CommandType.Text;
                }

                comando.CommandType = commandType;

                //Adiciona os parametros
                if (parametros != null && parametros.Count > 0)
                {
                    comando.Parameters.AddRange(parametros.ToArray());
                }

                //Execute a consulta no banco de dados e retorna os valores
                reader = comando.ExecuteReader();

                //Converte de DataReader para DataTable
                table = new DataTable();
                table.Load(reader);

                //Retorna o DataTable
                return(table);
            }
            catch (Exception ex)
            {
                string sql = string.Empty;

                if (comando != null)
                {
                    sql = ConvertSqlCommanToSql.SqlCommandToSql(comando);
                }

                throw new Exception(string.Format("Erro: {1} \n Query: {0} ", sql, ex.Message), ex.InnerException);

                //throw ex;
            }
            finally
            {
                if (table != null)
                {
                    table.Dispose();
                    table = null;
                }

                if (reader != null)
                {
                    reader.Dispose();
                    reader = null;
                }

                if (comando != null)
                {
                    comando.Dispose();
                    comando = null;
                }
            }

            #endregion Implementação
        }