Exemplo n.º 1
0
        /// <summary>
        /// async Paging Datas by Database
        /// </summary>
        /// <param name="pageIndex">Current Index</param>
        /// <param name="pageSize">Size of per Page</param>
        /// <param name="fixedSql">The Sql which in the Front ( ex.  CTE Query begin with the Keyword "WITH" ) </param>
        /// <param name="selectSql">The Sql which begin with Keyword "SELECT" </param>
        /// <param name="paramValues">Parameters</param>
        /// <param name="transaction">transaction</param>
        /// <param name="commandType">Text | StoredProcedure</param>
        public static async Task <PagingResult> PagingAsDatatableAsync(int pageIndex, int pageSize,
                                                                       string fixedSql, string selectSql, SqlParameter[] paramValues,
                                                                       MicroDBTransaction transaction, CommandType commandType = CommandType.Text
                                                                       )
        {
            ExecuteAsyncDelegate action = async(m_Sql, m_paramValues, m_commandType) =>
            {
                return(await MicroDBHelper.ExecuteDataTableAsync(m_Sql, m_paramValues, transaction, m_commandType));
            };

            var ret = await AdapterFactory.CreateAdapter(transaction.ConnectionAliasName).DetailPagingAsync(action, pageIndex, pageSize, fixedSql, selectSql, paramValues, commandType);

            return(new PagingResult(ret.querydt, pageIndex, pageSize, ret.totalCount));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Paging Datas by Database <para />
        /// (need to reference: MicroDBHelperExpansionPack.EntityConversion )
        /// </summary>
        /// <typeparam name="T">Target Type</typeparam>
        /// <param name="pageIndex">Current Index</param>
        /// <param name="pageSize">Size of per Page</param>
        /// <param name="fixedSql">The Sql which in the Front ( ex.  CTE Query begin with the Keyword "WITH" ) </param>
        /// <param name="selectSql">The Sql which begin with Keyword "SELECT" </param>
        /// <param name="paramValues">Parameters</param>
        /// <param name="transaction">transaction</param>
        /// <param name="commandType">Text | StoredProcedure</param>
        public static PagingResult <T> PagingAsEntity <T>(int pageIndex, int pageSize,
                                                          string fixedSql, string selectSql, SqlParameter[] paramValues,
                                                          MicroDBTransaction transaction, CommandType commandType = CommandType.Text
                                                          )
            where T : class
        {
            ExecuteDelegate action = (m_Sql, m_paramValues, m_commandType) =>
            {
                return(MicroDBHelper.ExecuteDataTable(m_Sql, m_paramValues, transaction, m_commandType));
            };

            var ret = AdapterFactory.CreateAdapter(transaction.ConnectionAliasName).DetailPaging(action, pageIndex, pageSize, fixedSql, selectSql, paramValues, commandType);

            return(new PagingResult <T>(EntityConvert.ConvertToList <T>(ret.querydt), pageIndex, pageSize, ret.totalCount));
        }
 /// <summary>
 /// Hide default ctor
 /// </summary>
 private TransactionWrap(IsolationLevel IsolationLevel, string ConnectionAliasName = MicroDBHelper.ALIAS_NAME_DEFAULT)
 {
     transaction = MicroDBHelper.UseTransaction(IsolationLevel, ConnectionAliasName);
 }