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)); }
public List <UnderAgeSearchMiddle> UnderAgeSearch(UnderAgerSearchViewModel underAgerSearchViewModel) { return(_inhabitantRepository.GetUnderAgeSearch(underAgerSearchViewModel)); }