private Expression <Func <ResidentInfo, bool> > SearchPartResidentWhere(PartyResidentSearchViewModel partyResidentSearchViewModel) { var predicate = WhereExtension.True <ResidentInfo>();//初始化where表达式 if (partyResidentSearchViewModel.IdentityName != "") { predicate = predicate.And(p => p.Politics.Equals(partyResidentSearchViewModel.IdentityName)); } if (partyResidentSearchViewModel.Area != "") { predicate = predicate.And(p => p.InfoRelationShips.HouseInfo.Area.Equals(partyResidentSearchViewModel.Area)); } if (partyResidentSearchViewModel.Name != "") { predicate = predicate.And(p => p.Name.Equals(partyResidentSearchViewModel.Name)); } //根据出生年月范围查询 if (partyResidentSearchViewModel.StartTime != null) { predicate = predicate.And(p => DateTime.ParseExact(p.IdNumber.Substring(6, 8), "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture) >= partyResidentSearchViewModel.StartTime); } if (partyResidentSearchViewModel.EndTime != null) { predicate = predicate.And(p => DateTime.ParseExact(p.IdNumber.Substring(6, 8), "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture) <= partyResidentSearchViewModel.EndTime); } predicate = predicate.And(p => p.Status == "1"); return(predicate); }
/// <summary> /// 查询党员的居民信息 /// </summary> /// <param name="partyResidentSearchViewModel"></param> /// <returns></returns> #region public List <PartyResidentSearchMiddle> getPartResidentSearch(PartyResidentSearchViewModel partyResidentSearchViewModel) { int SkipNum = partyResidentSearchViewModel.pageViewModel.CurrentPageNum * partyResidentSearchViewModel.pageViewModel.PageSize; var predicate = SearchPartResidentWhere(partyResidentSearchViewModel); var result = DbSet.Include(a => a.InfoRelationShips).ThenInclude(b => b.HouseInfo) //.Include(a => a.ResidentRelationShips).ThenInclude(b => b.ResidentIdentity) .Where(predicate) .Join(DbSet1, a => a.Id, b => b.ResidentId, (a, b) => new PartyResidentSearchMiddle //inner join { Id = a.Id, Name = a.Name, Gender = a.Gender, IdNumber = a.IdNumber, Education = a.Education, Phone = a.Phone, JoinPartyTime = b.JoinPartyTime, PartyJob = b.PartyJob }) .ToList() .GroupBy(a => a.Id).Select(a => a.First()).ToList(); var aaa = result .Skip(SkipNum) .Take(partyResidentSearchViewModel.pageViewModel.PageSize).ToList(); return(aaa); }
public int getPartResidentSearchCount(PartyResidentSearchViewModel partyResidentSearchViewModel) { var predicate = SearchPartResidentWhere(partyResidentSearchViewModel); var result = DbSet.Include(a => a.InfoRelationShips).ThenInclude(b => b.HouseInfo) //.Include(a => a.ResidentRelationShips).ThenInclude(b => b.ResidentIdentity) .Where(predicate) .Join(DbSet1, a => a.Id, b => b.ResidentId, (a, b) => new PartyResidentSearchMiddle //inner join { Id = a.Id, Name = a.Name, Gender = a.Gender, IdNumber = a.IdNumber, Education = a.Education, Phone = a.Phone, JoinPartyTime = b.JoinPartyTime, PartyJob = b.PartyJob }) .ToList() .GroupBy(a => a.Id).Select(a => a.First()).ToList().Count(); return(result); }
public int getPartResidentSearchCount(PartyResidentSearchViewModel partyResidentSearchViewModel) { return(_inhabitantRepository.getPartResidentSearchCount(partyResidentSearchViewModel)); }
/// <summary> /// 查询党员的居民信息 /// </summary> /// <param name="partyResidentSearchViewModel"></param> /// <returns></returns> public List <PartyResidentSearchMiddle> getPartResidentSearch(PartyResidentSearchViewModel partyResidentSearchViewModel) { return(_inhabitantRepository.getPartResidentSearch(partyResidentSearchViewModel)); }
public ActionResult <PartyResidentSearchResViewModel> ByHouseInfoSearchResident_OpinionInfo_Search(PartyResidentSearchViewModel partyResidentSearchViewModel) { var SearchResult = _inhabitantService.getPartResidentSearch(partyResidentSearchViewModel); int total = _inhabitantService.getPartResidentSearchCount(partyResidentSearchViewModel); var Actionresult = _inhabitantFactory.GetPartyResidentSearchResViewModel(); Actionresult.baseViewModel.IsSuccess = true; Actionresult.Data = SearchResult; Actionresult.TotalCount = total; Actionresult.baseViewModel.Message = "查询信息成功"; Actionresult.baseViewModel.ResponseCode = 200; _ILogger.Information("查询信息成功"); return(Ok(Actionresult)); }