/// <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); }