/// <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));
        }
Exemple #2
0
 /// <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));;
        }