Exemple #1
0
        /// <summary>
        /// 비동기 방식으로 Procedure를 실행해서, DataTable을 반환하는 Task를 빌드합니다.
        /// </summary>
        /// <param name="repository"><see cref="IAdoRepository"/></param>
        /// <param name="spName">실행할 Procedure Name</param>
        /// <param name="firstResult">첫번째 레코드 인덱스</param>
        /// <param name="maxResults">최대 레코드 갯수</param>
        /// <param name="parameters">파라미터 컬렉션</param>
        /// <returns>DataTable을 반환하는 Task</returns>
        public static Task <DataTable> ExecuteDataTableByProcedureAsync(this IAdoRepository repository,
                                                                        string spName,
                                                                        int?firstResult,
                                                                        int?maxResults,
                                                                        params IAdoParameter[] parameters)
        {
            spName.ShouldNotBeWhiteSpace("spName");

            if (IsDebugEnabled)
            {
                log.Debug("비동기 방식으로 Procedure를 수행하여 DataTable을 빌드합니다... spName=[{0}], firstResult=[{1}], maxResults=[{2}]",
                          spName, firstResult, maxResults);
            }

            return(Task.Factory.StartNew(() => repository.ExecuteDataTableByProcedure(spName,
                                                                                      firstResult ?? 0,
                                                                                      maxResults ?? 0,
                                                                                      parameters)));
        }