Example #1
0
        public List <dynamic> ToPageList(int pageIndex, int pageSize, out int recordCount)
        {
            var sqlBuilder = new SqlServerBuilder();
            var sql        = sqlBuilder.PagingSelect2008(_table, _fields, _where, _orderBy, pageIndex, pageSize);

            var command = new SqlCommand(sql);

            command.Parameters.AddRange(_parameters.Parameters);
            var param = new SqlParameter("@RecordCount", SqlDbType.Int)
            {
                Direction = ParameterDirection.Output
            };

            command.Parameters.Add(param);

            recordCount = 0;
            List <dynamic> result;

            using (var conn = new SqlConnection(_connectionString))
            {
                conn.Open();
                command.Connection = conn;
                using (var sdr = command.ExecuteReader())
                {
                    var handler = new SqlDataReaderSelectConverter();
                    result = handler.ConvertToDynamicList(sdr);
                }
            }

            recordCount = (int)param.Value;
            return(result);
        }
        public static List <dynamic> Fetch(this SqlConnection conn, string sql, object parameters = null, SqlTransaction trans = null)
        {
            try
            {
                var command = new SqlCommand(sql, conn, trans);
                if (parameters != null)
                {
                    command.Parameters.AddRange(ConvertToDbParameter(parameters).Parameters);
                }

                var            mapper = new SqlDataReaderSelectConverter();
                List <dynamic> result;

                using (var sdr = command.ExecuteReader())
                {
                    result = mapper.ConvertToDynamicList(sdr);
                }

                return(result);
            }
            catch (Exception)
            {
                trans?.Rollback();
            }
            finally
            {
                conn.Close();
            }
            return(new List <dynamic>());
        }
        public static async Task <T> SingleOrDefaultAsync <T>(this SqlConnection conn, string sql, object parameters = null, SqlTransaction trans = null)
        {
            try
            {
                var command = new SqlCommand(sql, conn, trans);
                if (parameters != null)
                {
                    command.Parameters.AddRange(ConvertToDbParameter(parameters).Parameters);
                }

                var mapper = new SqlDataReaderSelectConverter();
                T   result;

                using (var sdr = await command.ExecuteReaderAsync())
                {
                    result = mapper.ConvertToEntity <T>(sdr);
                }

                return(result);
            }
            catch (Exception)
            {
                trans?.Rollback();
            }
            finally
            {
                conn.Close();
            }

            return(default(T));
        }
Example #4
0
        public async Task <PagingResult <T> > ToPageListAsync(int pageIndex, int pageSize)
        {
            var sqlBuilder = new SqlServerBuilder();
            var sql        = sqlBuilder.PagingSelect2008(_table, _fields, _where, _orderBy, pageIndex, pageSize);

            var command = new SqlCommand(sql);

            command.Parameters.AddRange(_parameters.Parameters);
            var param = new SqlParameter("@RecordCount", SqlDbType.Int)
            {
                Direction = ParameterDirection.Output
            };

            command.Parameters.Add(param);

            var result = new PagingResult <T>();

            using (var conn = new SqlConnection(_connectionString))
            {
                conn.Open();
                command.Connection = conn;
                using (var sdr = await command.ExecuteReaderAsync())
                {
                    var handler = new SqlDataReaderSelectConverter();
                    result.Items = handler.ConvertToList <T>(sdr);
                }
            }

            result.RecordCount = (int)param.Value;
            return(result);
        }
Example #5
0
        public async Task <dynamic> FirstOrDefaultAsync()
        {
            var sqlBuilder = new SqlServerBuilder();
            var sql        = sqlBuilder.Select(_table, _fields, _where, _orderBy, 1);

            using (var conn = new SqlConnection(_connectionString))
            {
                conn.Open();
                var command = new SqlCommand(sql, conn);
                command.Parameters.AddRange(_parameters.Parameters);
                var sdr = await command.ExecuteReaderAsync();

                var handler = new SqlDataReaderSelectConverter();
                return(handler.ConvertToDynamicEntity(sdr));
            }
        }
Example #6
0
        public async Task <List <dynamic> > ToListAsync()
        {
            var sqlBuilder = new SqlServerBuilder();
            var sql        = sqlBuilder.Select(_table, _fields, _where, _orderBy);

            List <dynamic> result;
            var            visitor = new SqlDataReaderSelectConverter();

            using (var conn = new SqlConnection(_connectionString))
            {
                var command = new SqlCommand(sql, conn);
                command.Parameters.AddRange(_parameters.Parameters);
                conn.Open();
                using (var sdr = await command.ExecuteReaderAsync())
                {
                    result = visitor.ConvertToDynamicList(sdr);
                }
            }

            return(result);
        }