/// <summary> /// 根据医院搜索输入分页获取医院列表 /// </summary> /// <param name="input">医院搜索输入</param> /// <returns>医院列表</returns> public async Task<Tuple<List<HospitalViewDto>, int>> GetHospitalPageList(HospitalSearchInput input) { var result = await _repository.GetHospitalPageList(input); var tuple = new Tuple<List<HospitalViewDto>, int>(Mapper.Map<List<Hospital>, List<HospitalViewDto>>(result.Item1), result.Item2); return tuple; }
/// <summary> /// 医院列表 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <IActionResult> List(HospitalSearchInput input) { var model = new Page <HospitalViewDto>(); var items = await _service.GetHospitalPageList(input); model.CurrentPage = input.PageIndex; model.TotalRecords = items.Item2; model.Items = items.Item1; return(PartialView("_ListPartial", model)); }
/// <summary> /// 根据医院搜索输入分页获取医院实体列表 /// </summary> /// <param name="input">医院搜索输入</param> /// <returns>医院实体列表</returns> public async Task <Tuple <List <Hospital>, int> > GetHospitalPageList(HospitalSearchInput input) { var query = _context.Hospital.Include(i => i.City.Province).AsQueryable(); if (!string.IsNullOrEmpty(input.HospitalName)) { query = query.Where(i => i.HospitalName.Contains(input.HospitalName)); } if (input.CityId != -1) { query = query.Where(i => i.CityId == input.CityId); } int total = query.Count(); var hospitalList = await query.OrderBy(i => i.Id).Skip(input.PageSize * (input.PageIndex - 1)).Take(input.PageSize).ToListAsync(); return(new Tuple <List <Hospital>, int>(hospitalList, total)); }