/// <summary> /// 根据患者搜索输入分页获取患者实体列表 /// </summary> /// <param name="input">患者搜索输入</param> /// <returns>患者实体列表</returns> public async Task <Tuple <List <Patient>, int> > GetPatientPageList(PatientSearchInput input) { var query = _context.Patient.Include(i => i.Hospital).Include(i => i.Doctor).AsQueryable(); if (!string.IsNullOrEmpty(input.PatientName)) { query = query.Where(i => i.PatientName.Contains(input.PatientName)); } if (input.Sex != -1) { query = query.Where(i => i.Sex == input.Sex); } if (input.UserStatus != -1) { query = query.Where(i => i.UserStatus == input.UserStatus); } if (input.HospitalId != -1) { query = query.Where(i => i.HospitalId == input.HospitalId); } int total = query.Count(); var patientList = await query.OrderBy(i => i.Id).Skip(input.PageSize * (input.PageIndex - 1)).Take(input.PageSize).ToListAsync(); return(new Tuple <List <Patient>, int>(patientList, total)); }
/// <summary> /// 首页 /// </summary> /// <returns></returns> public IActionResult Index(int pageIndex = 1) { var search = new PatientSearchInput { PageIndex = pageIndex }; return(View(search)); }
/// <summary> /// 根据患者搜索输入分页获取患者列表 /// </summary> /// <param name="input">患者搜索输入</param> /// <returns>患者列表</returns> public async Task <Tuple <List <PatientViewDto>, int> > GetPatientPageList(PatientSearchInput input) { var result = await _repository.GetPatientPageList(input); var tuple = new Tuple <List <PatientViewDto>, int>(Mapper.Map <List <Patient>, List <PatientViewDto> >(result.Item1), result.Item2); return(tuple); }
/// <summary> /// 首页 /// </summary> /// <returns></returns> public async Task <IActionResult> Index(int pageIndex = 1, long hospitalId = -1) { await ShowHospitalList(true); var search = new PatientSearchInput { HospitalId = hospitalId, PageIndex = pageIndex }; return(View(search)); }
/// <summary> /// 患者列表 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <IActionResult> List(PatientSearchInput input) { var model = new Page <PatientViewDto>(); var items = await _service.GetPatientPageList(input); model.CurrentPage = input.PageIndex; model.Items = items.Item1; model.TotalRecords = items.Item2; return(PartialView("_ListPartial", model)); }
/// <summary> /// 根据患者搜索输入分页获取患者实体列表 /// </summary> /// <param name="input">患者搜索输入</param> /// <returns>患者实体列表</returns> public async Task <Tuple <List <Patient>, int> > GetPatientPageList(PatientSearchInput input) { var query = _context.Patients.AsQueryable(); if (!string.IsNullOrEmpty(input.PatientName)) { query = query.Where(i => i.PatientName.Contains(input.PatientName)); } int total = query.Count(); var patientList = await query.OrderBy(i => i.Id).Skip(input.PageSize * (input.PageIndex - 1)).Take(input.PageSize).ToListAsync(); return(new Tuple <List <Patient>, int>(patientList, total)); }
/// <summary> /// 患者列表 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <IActionResult> List(PatientSearchInput input) { var model = new Page <PatientViewDto>(); if (CurrentLoginUser.HospitalId.HasValue) { input.HospitalId = CurrentLoginUser.HospitalId.Value; } var items = await _service.GetPatientPageList(input); model.CurrentPage = input.PageIndex; model.TotalRecords = items.Item2; model.Items = items.Item1; ViewBag.HospitalId = input.HospitalId; return(PartialView("_ListPartial", model)); }