예제 #1
0
        public T ExecuteObject <T>(string sql, Origami.Data.DataContext.DataMapperDelegate <T> dataMapper)
        {
            DbHelper dbHelper = new DbHelper(dataSource);

            logger.Write(Severity.Debug, "ExecuteObject() with delegate - " + sql);

            return(dbHelper.ExecuteObject(sql, dataMapper));
        }
예제 #2
0
        public List <T> ExecuteList <T>(string sql, Origami.Data.DataContext.DataMapperDelegate <T> dataMapper)
        {
            DbHelper dbHelper = new DbHelper(dataSource);

            logger.Write(Severity.Debug, "ExecuteList() with delegate - " + sql);
            List <T> list = dbHelper.ExecuteList <T>(sql, dataMapper);

            return(list);
        }
예제 #3
0
        public List <T> ExecuteList <T>(string sql,
                                        Origami.Data.DataContext.DataMapperDelegate <T> dataMapper)
        {
            List <T>    list = new List <T>();
            IDataReader rdr  = null;
            DbCommand   cmd  = null;

            try
            {
                cmd             = conn.CreateCommand();
                cmd.CommandText = sql;
                rdr             = cmd.ExecuteReader();

                while (rdr.Read())
                {
                    list.Add(dataMapper.Invoke(rdr));
                }
            }
            catch (Exception ex)
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
                if (rdr != null)
                {
                    rdr.Close();
                }

                logger.Write(Severity.Error, ex.ToString());
                throw ex;
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
                if (rdr != null)
                {
                    rdr.Close();
                }
            }

            return(list);
        }
예제 #4
0
        public T ExecuteObject <T>(string sql, Origami.Data.DataContext.DataMapperDelegate <T> dataMapper)
        {
            T           obj = default(T);
            IDataReader rdr = null;
            DbCommand   cmd = null;

            try
            {
                cmd             = conn.CreateCommand();
                cmd.CommandText = sql;
                rdr             = cmd.ExecuteReader();

                if (rdr.Read())
                {
                    obj = dataMapper.Invoke(rdr);
                }
            }
            catch (Exception ex)
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
                if (rdr != null)
                {
                    rdr.Close();
                }

                logger.Write(Severity.Error, ex.ToString());
                throw ex;
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
                if (rdr != null)
                {
                    rdr.Close();
                }
            }

            return(obj);
        }
예제 #5
0
        public List <T> ExecuteList <T>(DbCommandWrapper cmdWrapper, bool isStoredProc,
                                        string cmdText, Origami.Data.DataContext.DataMapperDelegate <T> dataMapper)
        {
            List <T>    list = new List <T>();
            DbCommand   cmd  = null;
            IDataReader rdr  = null;

            try
            {
                cmd = conn.CreateCommand();
                cmdWrapper.Command = cmd;

                if (isStoredProc)
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                }
                else
                {
                    cmd.CommandType = CommandType.Text;
                }

                cmd.CommandText = cmdText;

                foreach (ParameterClause param in cmdWrapper.Parameters)
                {
                    AddParameter(cmd, param);
                }

                cmd.CommandText = cmdText;
                rdr             = cmd.ExecuteReader();

                while (rdr.Read())
                {
                    list.Add(dataMapper.Invoke(rdr));
                }
            }
            catch (Exception ex)
            {
                logger.Write(Severity.Error, ex.ToString());

                if (cmd != null)
                {
                    cmd.Dispose();
                }
                if (rdr != null)
                {
                    rdr.Close();
                }

                throw ex;
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
                if (rdr != null)
                {
                    rdr.Close();
                }
            }
            return(list);
        }