/// <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));
        }