Exemplo n.º 1
0
        /// <summary>
        /// Executa uma procedure DML
        /// </summary>
        /// <param name="query">Script a ser executado</param>
        /// <param name="parametros">parâmetros da procedure</param>
        /// <returns>Status do processamento</returns>
        private RetornoComando ExecutarComando(string query, SqlParameter[] parametros)
        {
            try
            {
                RetornoComando retorno = _contexto.GetRetornoComando.FromSql(query, parametros).FirstOrDefault();

                if (retorno.NumeroErro > 0)
                {
                    throw new Exception($"Procedure: {retorno.StoredProcedure} - Linha: {retorno.LinhaErro} - Erro: {retorno.NumeroErro} - {retorno.DescricaoErro}");
                }

                return(retorno);
            }
            catch (Exception ex)
            {
                throw new Exception($"Erro ao executar comando Sql. \n\nDetails: {ex.Message}\n{ex.InnerException}");
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Executa uma procedure DML
        /// </summary>
        /// <param name="query">Script a ser executado</param>
        /// <param name="parametros">parâmetros da procedure</param>
        /// <param name="output">Parâmetro de retorno contendo o id do registro incluído em caso de inclusão</param>
        /// <returns>Status do processamento</returns>
        protected int ExecutarComandoSQLComOutput <T>(out T output, string query, params SqlParameter[] parametros)
        {
            try
            {
                var retornoOutput = parametros.FirstOrDefault(x => x.Direction == ParameterDirection.Output);

                RetornoComando retorno = _contexto.GetRetornoComando.FromSql(query, parametros).FirstOrDefault();

                if (retorno.NumeroErro > 0)
                {
                    throw new Exception($"Procedure: {retorno.StoredProcedure} - Linha: {retorno.LinhaErro} - Erro: {retorno.NumeroErro} - {retorno.DescricaoErro}");
                }

                output = (T)retornoOutput.Value;

                return(retorno.RegistrosAfetados);
            }
            catch (Exception ex)
            {
                throw new Exception($"Erro ao executar comando Sql. \n\nDetails: {ex.Message}\n{ex.InnerException}");
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Executa uma procedure DML
        /// </summary>
        /// <param name="query">Script a ser executado</param>
        /// <param name="parametros">parâmetros da procedure</param>
        /// <param name="idInclusao">Parâmetro de retorno contendo o id do registro incluído em caso de inclusão</param>
        /// <returns>Status do processamento</returns>
        protected int ExecutarComandoSQL(string query, params SqlParameter[] parametros)
        {
            RetornoComando retorno = ExecutarComando(query, parametros);

            return(retorno.RegistrosAfetados);
        }