コード例 #1
0
 public PagedActionResult <MemberCardType> Search([FromUri] MemberCardTypeFilter filter)
 {
     return(SafeGetPagedData <MemberCardType>((result) =>
     {
         if (!ModelState.IsValid)//表示没有过滤参数成功匹配,判定为错误请求。
         {
             throw new DomainException("查询参数错误。");
         }
         int totalCount = 0;
         var pagedData = this.MemberCardTypeService.Search(filter, out totalCount);
         result.Data = pagedData;
         result.TotalCount = totalCount;
     }));
 }
コード例 #2
0
        /// <summary>
        /// 查询卡片类型
        /// </summary>
        /// <param name="filter">过滤条件</param>
        /// <param name="totalCount">总记录数</param>
        /// <returns></returns>
        /// <exception cref="System.NotImplementedException"></exception>
        public IEnumerable <MemberCardType> Search(MemberCardTypeFilter filter, out int totalCount)
        {
            IEnumerable <MemberCardType> pagedData = null;
            var queryable = this.Repository.GetQueryable(false);

            if (filter != null)
            {
                if (!string.IsNullOrEmpty(filter.Name))
                {
                    queryable = queryable.Where(t => t.Name.Contains(filter.Name));
                }
                if (filter.AllowStoreActivate.HasValue)
                {
                    queryable = queryable.Where(t => t.AllowStoreActivate == filter.AllowStoreActivate.Value);
                }
                if (filter.AllowDiscount.HasValue)
                {
                    queryable = queryable.Where(t => t.AllowDiscount == filter.AllowDiscount.Value);
                }
                if (filter.AllowRecharge.HasValue)
                {
                    queryable = queryable.Where(t => t.AllowRecharge == filter.AllowRecharge.Value);
                }
            }
            queryable = queryable.OrderBy(t => t.CreatedDate);
            if (filter != null && filter.Start.HasValue && filter.Limit.HasValue)
            {
                totalCount = queryable.Count();
                pagedData  = queryable.Skip(filter.Start.Value).Take(filter.Limit.Value).ToArray();
            }
            else
            {
                pagedData  = queryable.ToArray();
                totalCount = pagedData.Count();
            }
            return(pagedData);
        }