示例#1
0
        /// <summary>
        /// 塞券详情
        /// </summary>
        /// <param name="batchCode"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public Tuple <List <VipPaintPromotionDetailViewModel>, int> SelectPromotionDetail
            (VipPaintPackagePromotionDetail model, int pageIndex, int pageSize)
        {
            var result     = null as List <VipPaintPromotionDetailViewModel>;
            int totalCount = 0;

            try
            {
                result = dbScopeManagerConfigurationRead.Execute(conn =>
                                                                 DalVipPaintPackage.SelectPromotionDetail(conn, model, pageIndex, pageSize, out totalCount));
                result = FillOrderForPromotionDetail(result, model.BatchCode);
            }
            catch (Exception ex)
            {
                Logger.Error("SelectPromotionDetail", ex);
            }
            return(Tuple.Create(result, totalCount));
        }
 /// <summary>
 /// 塞券详情
 /// </summary>
 /// <param name="conn"></param>
 /// <param name="batchCode"></param>
 /// <param name="pageIndex"></param>
 /// <param name="pageSize"></param>
 /// <returns></returns>
 public static List <VipPaintPromotionDetailViewModel> SelectPromotionDetail
     (SqlConnection conn, VipPaintPackagePromotionDetail model, int pageIndex, int pageSize, out int totalCount)
 {
     #region Sql
     var sql = @"SELECT  @Total = COUNT(1)
                 FROM    Configuration..VipPaintPackagePromotionDetail AS s WITH ( NOLOCK )
                 WHERE   s.BatchCode = @BatchCode
                 AND ( @MobileNumber IS NULL
                       OR @MobileNumber = N''
                       OR s.MobileNumber = @MobileNumber
                     )
                 AND ( @PromotionId < 1
                       OR s.PromotionId = @PromotionId
                     )
                 AND ( @Status IS NULL
                       OR @Status = N''
                       OR s.Status = @Status
                     )
                 AND s.IsDeleted =0;
                 SELECT  s.PKID ,
                         s.BatchCode ,
                         s.MobileNumber ,
                         s.PromotionId ,
                         s.CarNo ,
                         s.Status ,
                         s.Remarks ,
                         s.CreateDateTime
                 FROM    Configuration..VipPaintPackagePromotionDetail AS s WITH ( NOLOCK )
                 WHERE   s.BatchCode = @BatchCode
                 AND ( @MobileNumber IS NULL
                       OR @MobileNumber = N''
                       OR s.MobileNumber = @MobileNumber
                     )
                 AND ( @PromotionId < 1
                       OR s.PromotionId = @PromotionId
                     )
                 AND ( @Status IS NULL
                       OR @Status = N''
                       OR s.Status = @Status
                     )
                 AND s.IsDeleted =0
                 ORDER BY s.CreateDateTime DESC
                         OFFSET ( @PageIndex - 1 ) * @PageSize ROWS FETCH NEXT @PageSize ROWS
                         ONLY;;";
     #endregion
     var parameters = new[]
     {
         new SqlParameter("@BatchCode", model.BatchCode),
         new SqlParameter("@MobileNumber", model.MobileNumber),
         new SqlParameter("@PromotionId", model.PromotionId),
         new SqlParameter("@Status", model.Status),
         new SqlParameter("@PageIndex", pageIndex),
         new SqlParameter("@PageSize", pageSize),
         new SqlParameter("@Total", SqlDbType.Int)
         {
             Direction = ParameterDirection.Output
         }
     };
     var result = SqlHelper.ExecuteDataTable(conn, CommandType.Text, sql, parameters)
                  .ConvertTo <VipPaintPromotionDetailViewModel>().ToList();
     totalCount = Convert.ToInt32(parameters.LastOrDefault().Value.ToString());
     return(result);
 }