예제 #1
0
        public IHttpActionResult GetList([FromUri] BankQueryRequest request, [UserProfile] UserProfile userProfile)
        {
            request.ArrangeParams();

            var rst = _bankRepository.GetPagedList(request, request.PagerRequest);

            return(RetrunHttpActionResult(rst));
        }
예제 #2
0
        public PagerInfo <BankDto> GetPagedList(BankQueryRequest request, PagerRequest pagerRequest)
        {
            var bankFilter = BankFilter(request);

            int             totalCount;
            List <IMS_Bank> datas;

            using (var db = GetYintaiHZhouContext())
            {
                var banks = db.IMS_Bank.AsExpandable().Where(bankFilter);

                var sql = from bank in banks
                          select bank;

                totalCount = sql.Count();

                datas = sql.OrderBy(v => v.Id).Skip(pagerRequest.SkipCount).Take(pagerRequest.PageSize).ToList();
            }

            var rst = AutoMapper.Mapper.Map <List <IMS_Bank>, List <BankDto> >(datas);

            return(new PagerInfo <BankDto>(pagerRequest, totalCount, rst));
        }
예제 #3
0
        /// <summary>
        /// 筛选
        /// </summary>
        /// <param name="filter"></param>
        /// <returns></returns>
        private static Expression <Func <IMS_Bank, bool> > BankFilter(BankQueryRequest filter)
        {
            var query = PredicateBuilder.True <IMS_Bank>();

            if (filter == null)
            {
                return(query);
            }

            if (filter.Status != null)
            {
                query = PredicateBuilder.And(query, v => v.Status == filter.Status);
            }


            if (!String.IsNullOrEmpty(filter.Code))
            {
                query = PredicateBuilder.And(query, v => v.Code == filter.Code);
                return(query);
            }

            if (!String.IsNullOrEmpty(filter.Name))
            {
                query = PredicateBuilder.And(query, v => v.Name == filter.Name);

                return(query);
            }

            if (!String.IsNullOrEmpty(filter.PreName))
            {
                query = PredicateBuilder.And(query, v => v.Name.StartsWith(filter.PreName));

                return(query);
            }

            return(query);
        }