Exemplo n.º 1
0
 /// <summary>
 /// Prepara o comando da Storedprocedure para execução.
 /// </summary>
 /// <param name="session"></param>
 /// <param name="procedure">Storedprocedure que será processada.</param>
 /// <param name="cmd">Comando que será preparado.</param>
 public void PrepareCommand(GDASession session, GDAStoredProcedure procedure, IDbCommand cmd)
 {
     cmd.CommandType    = CommandType.StoredProcedure;
     cmd.CommandTimeout = procedure.CommandTimeout;
     cmd.CommandText    = procedure.Name;
     foreach (GDAParameter param in procedure)
     {
         cmd.Parameters.Add(GDA.Helper.GDAHelper.ConvertGDAParameter(cmd, param, UserProvider));
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// Executa a stored procedure usando a sessão.
        /// </summary>
        /// <param name="session"></param>
        /// <param name="procedure"></param>
        /// <returns>Número de linhas afetadas.</returns>
        public int ExecuteCommand(GDASession session, GDAStoredProcedure procedure)
        {
            IDbConnection conn        = CreateConnection(session);
            IDbCommand    cmd         = CreateCommand(session, conn);
            int           valueReturn = 0;

            try
            {
                procedure.Prepare(cmd, UserProvider);
                if (session == null && conn.State != ConnectionState.Open)
                {
                    try
                    {
                        conn.Open();
                    }
                    catch (Exception ex)
                    {
                        throw new GDAException(ex);
                    }
                    GDAConnectionManager.NotifyConnectionOpened(conn);
                }
                try
                {
                    SendMessageDebugTrace(cmd.CommandText);
                    valueReturn = cmd.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    throw new GDAException("StoredProcedure: " + cmd.CommandText + ". --> " + ex.Message, ex);
                }
                for (int i = 0; i < cmd.Parameters.Count; i++)
                {
                    procedure[i] = ((IDbDataParameter)cmd.Parameters[i]).Value;
                }
            }
            finally
            {
                try
                {
                    cmd.Dispose();
                    cmd = null;
                }
                finally
                {
                    if (session == null)
                    {
                        conn.Close();
                        conn.Dispose();
                    }
                }
            }
            return(valueReturn);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Carrega um unico registro.
        /// </summary>
        /// <param name="session">Sess�o onde a procedure ser� executada.</param>
        /// <param name="procedure">Dados da stored procedure a ser executada.</param>
        /// <param name="selectProperties">Nomes das propriedades que ser�o recuperadas na consulta separados por v�rgula.</param>
        /// <returns>Item encontrado ou nulo se o item n�o foi encontrado.</returns>
        /// <exception cref="GDAColumnNotFoundException"></exception>
        /// <exception cref="GDAException"></exception>
        public Model LoadOneData(GDASession session, GDAStoredProcedure procedure, string selectProperties)
        {
            GDAList <Model> list = LoadData(session, procedure, selectProperties);

            if (list.Count > 0)
            {
                return(list[0]);
            }
            else
            {
                return(default(Model));
            }
        }
Exemplo n.º 4
0
        public GDACursor <T> LoadValues <T>(GDASession session, GDAStoredProcedure procedure) where T : new()
        {
            IDbConnection conn = CreateConnection(session);
            IDbCommand    cmd  = CreateCommand(session, conn);

            cmd.Connection = conn;
            procedure.Prepare(cmd, UserProvider);
            return(new GDACursor <T>(UserProvider, session, conn, cmd, (sender, e) => {
                for (int i = 0; i < cmd.Parameters.Count; i++)
                {
                    var dataParamter = (IDbDataParameter)cmd.Parameters[i];
                    if (dataParamter.Direction == ParameterDirection.Output || dataParamter.Direction == ParameterDirection.ReturnValue)
                    {
                        procedure[i] = ((IDbDataParameter)cmd.Parameters[i]).Value;
                    }
                }
            }));
        }
Exemplo n.º 5
0
 /// <summary>
 /// Carrega um unico registro.
 /// </summary>
 /// <param name="session">Sess�o onde a procedure ser� executada.</param>
 /// <param name="procedure">Dados da stored procedure a ser executada.</param>
 /// <returns>Item encontrado ou nulo se o item n�o foi encontrado.</returns>
 /// <exception cref="GDAColumnNotFoundException"></exception>
 /// <exception cref="GDAException"></exception>
 public Model LoadOneData(GDASession session, GDAStoredProcedure procedure)
 {
     return(LoadOneData(session, procedure, null));
 }
Exemplo n.º 6
0
 /// <summary>
 /// Carrega um unico registro.
 /// </summary>
 /// <param name="procedure">Dados da stored procedure a ser executada.</param>
 /// <returns>Item encontrado ou nulo se o item n�o foi encontrado.</returns>
 /// <exception cref="GDAColumnNotFoundException"></exception>
 /// <exception cref="GDAException"></exception>
 public Model LoadOneData(GDAStoredProcedure procedure)
 {
     return(LoadOneData(null, procedure, null));
 }
Exemplo n.º 7
0
 /// <summary>
 /// Carrega um unico registro.
 /// </summary>
 /// <param name="procedure">Dados da stored procedure a ser executada.</param>
 /// <param name="selectProperties">Nomes das propriedades que ser�o recuperadas na consulta separados por v�rgula.</param>
 /// <returns>Item encontrado ou nulo se o item n�o foi encontrado.</returns>
 /// <exception cref="GDAColumnNotFoundException"></exception>
 /// <exception cref="GDAException"></exception>
 public Model LoadOneData(GDAStoredProcedure procedure, string selectProperties)
 {
     return(LoadOneData(null, procedure, selectProperties));
 }
Exemplo n.º 8
0
 /// <summary>
 /// Carrega os dado com o retorno da stored procedure.
 /// </summary>
 /// <param name="session">Sess�o onde a procedure ser� executada.</param>
 /// <param name="procedure">Dados da stored procedure a ser executada.</param>
 /// <param name="selectProperties">Nomes das propriedades que ser�o recuperadas na consulta separados por v�rgula.</param>
 /// <returns>Lista com os dados do retorno.</returns>
 public GDACursor <Model> LoadData(GDASession session, GDAStoredProcedure procedure, string selectProperties)
 {
     return(new GDACursor <Model>(GetCursorParameters(session, procedure, selectProperties)));
 }
Exemplo n.º 9
0
 /// <summary>
 /// Carrega os dado com o retorno da stored procedure.
 /// </summary>
 /// <param name="session">Sess�o onde a procedure ser� executada.</param>
 /// <param name="procedure">Dados da stored procedure a ser executada.</param>
 /// <returns>Lista com os dados do retorno.</returns>
 public GDACursor <Model> LoadData(GDASession session, GDAStoredProcedure procedure)
 {
     return(LoadData(session, procedure, null));
 }
Exemplo n.º 10
0
 /// <summary>
 /// Carrega os dado com o retorno da stored procedure.
 /// </summary>
 /// <param name="procedure">Dados da stored procedure a ser executada.</param>
 /// <returns>Lista com os dados do retorno.</returns>
 public GDACursor <Model> LoadData(GDAStoredProcedure procedure)
 {
     return(LoadData(null, procedure));
 }
Exemplo n.º 11
0
 /// <summary>
 /// Executa a Stored Procedure e recupera os dados do resultado.
 /// </summary>
 /// <param name="session">Sessão onde será executada a consulta.</param>
 /// <param name="procedure">Procedure que será executada.</param>
 /// <returns></returns>
 public GDADataRecordCursor LoadResult(GDASession session, GDAStoredProcedure procedure)
 {
     return(new GDADataRecordCursor(GetLoadResultCursorParameters(session, procedure)));
 }
Exemplo n.º 12
0
 /// <summary>
 /// Executa a Stored Procedure e recupera os dados do resultado.
 /// </summary>
 /// <param name="procedure">Procedure que será executada.</param>
 /// <returns></returns>
 public GDADataRecordCursor LoadResult(GDAStoredProcedure procedure)
 {
     return(LoadResult(null, procedure));
 }
Exemplo n.º 13
0
        public object ExecuteScalar(GDASession session, GDAStoredProcedure procedure)
        {
            IDbConnection conn        = CreateConnection(session);
            IDbCommand    cmd         = CreateCommand(session, conn);
            object        valueReturn = null;

            try
            {
                procedure.Prepare(cmd, UserProvider);
                if (session == null && conn.State != ConnectionState.Open)
                {
                    try
                    {
                        conn.Open();
                    }
                    catch (Exception ex)
                    {
                        throw new GDAException(ex);
                    }
                    GDAConnectionManager.NotifyConnectionOpened(conn);
                }
                SendMessageDebugTrace(cmd.CommandText);
                try
                {
                    using (var executionHandler = Diagnostics.GDATrace.CreateExecutionHandler(cmd))
                        try
                        {
                            valueReturn = cmd.ExecuteScalar();
                        }
                        catch (Exception ex)
                        {
                            executionHandler.Fail(ex);
                            throw ex;
                        }
                }
                catch (Exception ex)
                {
                    throw new GDAException("StoredProcedure: " + cmd.CommandText + "; --> " + ex.Message, ex);
                }
                for (int i = 0; i < cmd.Parameters.Count; i++)
                {
                    procedure[i] = ((IDbDataParameter)cmd.Parameters[i]).Value;
                }
            }
            finally
            {
                try
                {
                    cmd.Dispose();
                    cmd = null;
                }
                finally
                {
                    if (session == null)
                    {
                        conn.Close();
                        conn.Dispose();
                    }
                }
            }
            return(valueReturn);
        }
Exemplo n.º 14
0
 public object ExecuteScalar(GDAStoredProcedure procedure)
 {
     return(ExecuteScalar(null, procedure));
 }
Exemplo n.º 15
0
 /// <summary>
 /// Executa a stored procedure.
 /// </summary>
 /// <param name="procedure">Dados da stored procedure.</param>
 /// <returns>Número de linhas afetadas.</returns>
 public int ExecuteCommand(GDAStoredProcedure procedure)
 {
     return(ExecuteCommand(null, procedure));
 }
Exemplo n.º 16
0
        /// <summary>
        /// Recupera os parametros necessário para executar a consulta.
        /// </summary>
        /// <param name="session">Sessão onde será executada a consulta.</param>
        /// <param name="procedure">Procedure que será executada.</param>
        /// <returns></returns>
        internal GDACursorParameters GetLoadResultCursorParameters(GDASession session, GDAStoredProcedure procedure)
        {
            IDbConnection conn = CreateConnection(session);
            IDbCommand    cmd  = CreateCommand(session, conn);

            PrepareCommand(session, procedure, cmd);
            return(new GDACursorParameters(this.UserProvider, session, conn, cmd, null, false, 0, 0, null));
        }