/// <summary> /// 后台用户列表 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <IActionResult> List(AdministratorSearchInput input) { var model = new Page <AdministratorViewDto>(); var items = await _service.GetAdministratorList(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 <AdministratorViewDto>, int> > GetAdministratorList(AdministratorSearchInput searchInput) { return(await _repository.GetAdministratorPageList(searchInput)); }
/// <summary> /// 根据搜索输入分页获取系统用户实体列表 /// </summary> /// <param name="input">管理员搜索输入</param> /// <returns>系统用户实体列表</returns> public async Task <Tuple <List <AdministratorViewDto>, int> > GetAdministratorPageList(AdministratorSearchInput input) { var query = _context.Administrator.Where(i => !i.IsSuperManager); if (!string.IsNullOrEmpty(input.LoginName)) { query = query.Where(i => i.LoginName.Contains(input.LoginName)); } if (input.HospitalId != -1) { query = query.Where(i => i.HospitalId == input.HospitalId); } int total = query.Count(); var userList = await query.Include(t => t.Hospital).Select(t => new AdministratorViewDto { Id = t.Id, LoginName = t.LoginName, IsSuperManager = t.IsSuperManager, HospitalName = t.Hospital.HospitalName }).OrderBy(i => i.Id).Skip(input.PageSize * (input.PageIndex - 1)).Take(input.PageSize).ToListAsync(); return(new Tuple <List <AdministratorViewDto>, int>(userList, total));; }