public SearchBankResult Search(SearchBankOpt options) { using (MyDbContext ctx = new MyDbContext()) { BaseService <BankEntity> bs = new BaseService <BankEntity>(ctx); var data = bs.GetAll(); if (options.ClassId != null && options.ClassId != 9999) { data = data.Where(t => t.ClassId == options.ClassId); } if (!string.IsNullOrEmpty(options.Keyword)) { data = data.Where(t => t.Subject.Contains(options.Keyword)); } long totalCount = data.LongCount();//总搜索结果条数 data = data.Include(e => e.BankClass).OrderByDescending(t => t.CreateDateTime).Skip((options.CurrentIndex - 1) * options.PageSize) .Take(options.PageSize); SearchBankResult res = new SearchBankResult(); res.totalCount = totalCount; List <BankDTO> banks = new List <BankDTO>(); res.result = data.ToList().Select(e => ToDTO(e)).ToArray(); BaseService <BankClassEntity> bs_bankclass = new BaseService <BankClassEntity>(ctx); var bankClasses = bs_bankclass.GetAll().ToList().Select(e => ToDTOClass(e)).ToArray(); res.BankClass = bankClasses; return(res); } }
public ActionResult Index(long?ClassId, string keyword, int pageIndex = 1) { SearchBankOpt opt = new SearchBankOpt(); opt.CurrentIndex = pageIndex; opt.ClassId = ClassId; opt.Keyword = keyword; opt.PageSize = 10; ViewBag.pageIndex = pageIndex; ViewBag.ClassId = ClassId; ViewBag.keyword = keyword; var data = bankService.Search(opt); return(View(data)); }