private async Task GravarLogExecucao(DadosLog dados)
        {
            if (await ConfiguradorBancoDados.RetornarGravaLog(IdServidor))
            {
                var queryLog = new StringBuilder();
                var conexao  = new Conexao(await RetornarConnectionStringAsync(DATABASE_NAME));

                queryLog.Append("EXEC PRC_INS_LOG ");
                queryLog.Append($" @STR_BANCO_DADOS = '{dados.Database}', ");
                queryLog.Append($" @STR_ESQUEMA = '{dados.Schema}', ");
                queryLog.Append($" @STR_TABELA = '{dados.Tabela}', ");
                queryLog.Append($" @STR_USUARIO = '{dados.Usuario}', ");
                queryLog.Append($" @STR_METODO = '{dados.Metodo}', ");
                queryLog.Append($" @STR_QUERY = '{dados.Query.Replace("'", "''")}'");
                await conexao.ExecutarQueryAsyncNoTransaction(queryLog.ToString());
            }
        }
        public async Task <string> AlterarIncluirValoresAsync(string query, DadosLog dadosLog)
        {
            try
            {
                var conexao = new Conexao(await RetornarConnectionStringAsync())
                {
                    UsarTransacao = await ConfiguradorBancoDados.RetornarUsaTransacao(IdServidor)
                };

                await GravarLogExecucao(dadosLog);

                var result = await conexao.ExecutarQueryAsync(query);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(string.Empty);
        }
        public async Task SalvarConfiguracaoColunaAsync(int idConfiguracaoTabelaColuna, int idConfiguracaoTabela, string coluna,
                                                        bool visivel, string colunaDescricao, bool filtro)
        {
            Conexao conexao = new Conexao(await RetornarConnectionStringAsync())
            {
                UsarTransacao = await ConfiguradorBancoDados.RetornarUsaTransacao(IdServidor)
            };

            try
            {
                var query = string.Format("EXEC {0}.DBO.PRC_IU_CONFIGURACAO_TABELA_COLUNA {1}, {2}, '{3}', {4}, '{5}', {6} ",
                                          DATABASE_NAME, idConfiguracaoTabelaColuna, idConfiguracaoTabela, coluna, visivel ? 1 : 0, colunaDescricao,
                                          filtro ? 1 : 0);
                await conexao.ExecutarQueryAsync(query);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public async Task <string> SalvarConfiguracoesTabelaAsync(int id, string database, string schema, string table)
        {
            var     retorno = string.Empty;
            Conexao conexao = new Conexao(await RetornarConnectionStringAsync())
            {
                UsarTransacao = await ConfiguradorBancoDados.RetornarUsaTransacao(IdServidor)
            };

            try
            {
                string query = string.Format(" EXEC " + DATABASE_NAME + ".DBO.PRC_IU_CONFIGURACAO_TABELA {0}, '{1}', '{2}', '{3}' ",
                                             id, database, schema, table);
                await conexao.ExecutarQueryAsync(query);
            }
            catch (Exception ex)
            {
                retorno = ex.Message;
            }
            return(retorno);
        }
        public async Task <string[]> DeletarRegistroAsync(string query, DadosLog dadosLog)
        {
            string[] retorno = { string.Empty, string.Empty, string.Empty };
            try
            {
                var conexao = new Conexao(await RetornarConnectionStringAsync())
                {
                    UsarTransacao = await ConfiguradorBancoDados.RetornarUsaTransacao(IdServidor),
                };
                await GravarLogExecucao(dadosLog);

                await conexao.ExecutarQueryAsync(query);
            }
            catch (Exception ex)
            {
                retorno[0] = "Erro ao deletar o registro.";
                retorno[1] = ex.Message;
                retorno[2] = query;
            }
            return(retorno);
        }
 public async Task <string> RetornarConnectionStringAsync(string database = null)
 {
     return(await ConfiguradorBancoDados.RetornarConnectionStringAsync(IdServidor, database));
 }