private Expression <Func <ResidentInfo, bool> > SearchUnderAgeWhere(UnderAgerSearchViewModel underAgerSearchViewModel)
        {
            var predicate = WhereExtension.True <ResidentInfo>();//初始化where表达式

            if (underAgerSearchViewModel.Area != "")
            {
                predicate = predicate.And(p => p.InfoRelationShips.HouseInfo.Area.Equals(underAgerSearchViewModel.Area));
            }
            if (underAgerSearchViewModel.Name != "")
            {
                predicate = predicate.And(p => p.Name.Equals(underAgerSearchViewModel.Name));
            }

            //根据出生年月范围查询
            if (underAgerSearchViewModel.StartTime != null)
            {
                predicate = predicate.And(p => DateTime.ParseExact(p.IdNumber.Substring(6, 8), "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture) >= underAgerSearchViewModel.StartTime);
            }
            if (underAgerSearchViewModel.EndTime != null)
            {
                predicate = predicate.And(p => DateTime.ParseExact(p.IdNumber.Substring(6, 8), "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture) <= underAgerSearchViewModel.EndTime);
            }

            predicate = predicate.And(p => (Convert.ToInt32(DateTime.Now.Year.ToString()) - Convert.ToInt32(p.IdNumber.Substring(6, 4))) < 18);
            predicate = predicate.And(p => p.Status == "1");


            return(predicate);
        }
        /// <summary>
        /// 查询未成年人
        /// </summary>
        /// <param name="underAgerSearchViewModel"></param>
        /// <returns></returns>
        public List <UnderAgeSearchMiddle> GetUnderAgeSearch(UnderAgerSearchViewModel underAgerSearchViewModel)
        {
            int SkipNum   = underAgerSearchViewModel.pageViewModel.CurrentPageNum * underAgerSearchViewModel.pageViewModel.PageSize;
            var predicate = SearchUnderAgeWhere(underAgerSearchViewModel);


            var result = DbSet.Include(a => a.InfoRelationShips).ThenInclude(b => b.HouseInfo)
                         .Where(predicate)

                         .Select(
                p => new UnderAgeSearchMiddle()
            {
                Id       = p.Id,
                Name     = p.Name,
                IdNumber = p.IdNumber,
                Age      = Convert.ToInt32(DateTime.Now.Year.ToString()) - Convert.ToInt32(p.IdNumber.Substring(6, 4)),
                Area     = p.InfoRelationShips.HouseInfo.Area,
                Phone    = p.Phone,
                Address  = p.Address,
                Province = p.Province,
                City     = p.City,
                County   = p.County
            }
                )
                         .ToList()
                         .Skip(SkipNum)
                         .Take(underAgerSearchViewModel.pageViewModel.PageSize).ToList();

            return(result);
        }
        public ActionResult <UnderAgeSearchResViewModel> UnderAge_OpinionInfo_Search(UnderAgerSearchViewModel underAgerSearchViewModel)
        {
            var SearchResult = _inhabitantService.UnderAgeSearch(underAgerSearchViewModel);
            var Actionresult = _inhabitantFactory.GetUnderAgeSearchResViewModel();

            Actionresult.baseViewModel.IsSuccess = true;
            Actionresult.Data = SearchResult;
            Actionresult.baseViewModel.Message      = "查询信息成功";
            Actionresult.baseViewModel.ResponseCode = 200;
            _ILogger.Information("查询信息成功");

            return(Ok(Actionresult));
        }
Esempio n. 4
0
 public List <UnderAgeSearchMiddle> UnderAgeSearch(UnderAgerSearchViewModel underAgerSearchViewModel)
 {
     return(_inhabitantRepository.GetUnderAgeSearch(underAgerSearchViewModel));
 }