//根据条件查询

        public List <Volunteer_Info> SearchInfoByWhere(VolunteerSearchViewModel VSearchViewModel)
        {
            //查询条件
            var predicate = SearchVolunteerWhere(VSearchViewModel);

            var result = DbSet.Where(predicate)
                         .OrderByDescending(o => o.CreateDate).ToList();


            return(result);
        }
        //查询用户
        public List <VolunteerSearchMiddle> Volunteer_Search(VolunteerSearchViewModel VSearchViewModel)
        {
            List <Volunteer_Info>        user_Infos   = _IVolunteerInfoRepository.SearchInfoByWhere(VSearchViewModel);
            List <VolunteerSearchMiddle> userSearches = new List <VolunteerSearchMiddle>();

            foreach (var item in user_Infos)
            {
                var UserSearchMiddlecs = _IMapper.Map <Volunteer_Info, VolunteerSearchMiddle>(item);
                userSearches.Add(UserSearchMiddlecs);
            }
            return(userSearches.Count > 0 ? userSearches : null);
        }
        public ActionResult <VolunteerSearchResModel> Manage_User_Search(VolunteerSearchViewModel userSearchViewModel)
        {
            VolunteerSearchResModel userSearchResModel = new VolunteerSearchResModel();
            var UserSearchResult = _Volunteerervice.Volunteer_Search(userSearchViewModel);

            userSearchResModel.Volunteer_Infos            = UserSearchResult;
            userSearchResModel.isSuccess                  = true;
            userSearchResModel.baseViewModel.Message      = "查询成功";
            userSearchResModel.baseViewModel.ResponseCode = 200;
            userSearchResModel.TotalNum = 1;
            return(Ok(userSearchResModel));
        }
        //根据条件查询用户
        private Expression <Func <Volunteer_Info, bool> > SearchVolunteerWhere(VolunteerSearchViewModel VSearchViewModel)
        {
            var predicate = WhereExtension.True <Volunteer_Info>();//初始化where表达式

            if (!String.IsNullOrEmpty(VSearchViewModel.VNO))
            {
                predicate = predicate.And(p => p.VNO.Contains(VSearchViewModel.VNO));
            }
            if (!String.IsNullOrEmpty(VSearchViewModel.Name))
            {
                predicate = predicate.And(p => p.Name.Contains(VSearchViewModel.Name));
            }
            if (!String.IsNullOrEmpty(VSearchViewModel.CertificateID))
            {
                predicate = predicate.And(p => p.CertificateID.Contains(VSearchViewModel.CertificateID));
            }
            if (!String.IsNullOrEmpty(VSearchViewModel.Mobile))
            {
                predicate = predicate.And(p => p.Mobile.Contains(VSearchViewModel.Mobile));
            }

            return(predicate);
        }
        public IQueryable <Volunteer_Info> GetVolunteerAll(VolunteerSearchViewModel VSearchViewModel)
        {
            var predicate = SearchVolunteerWhere(VSearchViewModel);

            return(DbSet.Where(predicate));
        }