public IHttpActionResult GetList([FromUri] BankQueryRequest request, [UserProfile] UserProfile userProfile) { request.ArrangeParams(); var rst = _bankRepository.GetPagedList(request, request.PagerRequest); return(RetrunHttpActionResult(rst)); }
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)); }
/// <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); }