/// <summary>
 /// 通知页面 根据房屋信息,身份,人员信息 查询
 /// </summary>
 /// <param name="baseInfoInhabitantViewModel"></param>
 /// <returns></returns>
 public List<BaseInfoInhabitantMiddle> getResidentByAllInfo(BaseInfoInhabitantViewModel baseInfoInhabitantViewModel)
 {
     var SearchResult = _baseInfoInhabitantsRepository.getResidentByAllInfo(baseInfoInhabitantViewModel);
     //var SearchResultMiddle = _IMapper.Map<List<ResidentInfo>, List<ResidentMiddle>>(SearchResult);
     //var SearchResultModel = _IMapper.Map<List<ResidentMiddle>, List<BaseInfoInhabitantMiddle>>(SearchResultMiddle);
     return SearchResult;
     //return  _baseInfoInhabitantsRepository.getResidentByAllInfo();
 }
Exemple #2
0
        /// <summary>
        /// 发送通知时 根据房子 身份 居民 查询所有信息
        /// </summary>
        /// <param name="baseInfoInhabitantViewModel"></param>
        /// <returns></returns>
        #region
        public List <BaseInfoInhabitantMiddle> getResidentByAllInfo(BaseInfoInhabitantViewModel baseInfoInhabitantViewModel)    //Include(a => a.ResidentRelationShips).Select(b=>b.ResidentIdentity) //.Include(a => a.InfoRelationShips.Select(b => b.HouseInfo))
        {
            int SkipNum   = baseInfoInhabitantViewModel.pageViewModel.CurrentPageNum * baseInfoInhabitantViewModel.pageViewModel.PageSize;
            var predicate = SearchAllWhere(baseInfoInhabitantViewModel);
            var result    = DbSet.Include(a => a.InfoRelationShips).ThenInclude(b => b.HouseInfo)
                            .Include(a => a.ResidentRelationShips).ThenInclude(b => b.ResidentIdentity)
                            .Where(predicate)

                            .OrderBy(a => a.AddTime)
                            .Select(
                p => new BaseInfoInhabitantMiddle()
            {
                Id     = p.Id,
                Name   = p.Name,
                Gender = p.Gender,
                Age    = Convert.ToInt32(DateTime.Now.Year.ToString()) - Convert.ToInt32(p.IdNumber.Substring(6, 4)),
                //Area=p.InfoRelationShips.HouseInfo.Area,
                Phone    = p.Phone,
                IdNumber = p.IdNumber
            }
                )



                            .ToList();

            var aaaa = result.AsEnumerable()
                       .Skip(SkipNum)
                       .Take(baseInfoInhabitantViewModel.pageViewModel.PageSize).ToList();

            //.Select(p => new ResidentMiddle()
            // {
            //    Id =p.Id,
            //    Address = p.Address,
            //    Company = p.Company,
            //    Education = p.Education,
            //    HouseInfo = p.InfoRelationShips.HouseInfo,
            //    ResidentIdentity = p.ResidentRelationShips.ResidentIdentity
            // }

            //).ToList();
            return(aaaa);

            //    DbSet.Include(a => a.ResidentRelationShips).ThenInclude(a=>a.Select(b=>b.ResidentIdentity))
            //.Include(a => a.InfoRelationShips).ThenInclude(a => a.Select(b => b.HouseInfo));
        }
Exemple #3
0
        public int getResidentByAllInfoCount(BaseInfoInhabitantViewModel baseInfoInhabitantViewModel)
        {
            var predicate = SearchAllWhere(baseInfoInhabitantViewModel);
            var result    = DbSet.Include(a => a.InfoRelationShips).ThenInclude(b => b.HouseInfo)
                            .Include(a => a.ResidentRelationShips).ThenInclude(b => b.ResidentIdentity)
                            .Where(predicate)
                            .Select(
                p => new BaseInfoInhabitantMiddle()
            {
                Id     = p.Id,
                Name   = p.Name,
                Gender = p.Gender,
                Age    = Convert.ToInt32(DateTime.Now.Year.ToString()) - Convert.ToInt32(p.IdNumber.Substring(6, 4)),
                Area   = p.InfoRelationShips.HouseInfo.Area,
                Phone  = p.Phone
            }
                )
                            .Count();

            return(result);
        }
Exemple #4
0
        private Expression <Func <ResidentInfo, bool> > SearchAllWhere(BaseInfoInhabitantViewModel baseInfoInhabitantViewModel)
        {
            var predicate = WhereExtension.True <ResidentInfo>();//初始化where表达式

            //id
            if (baseInfoInhabitantViewModel.Id != null)
            {
                predicate = predicate.And(p => p.Id.Equals(baseInfoInhabitantViewModel.Id));
            }
            //身份
            if (baseInfoInhabitantViewModel.IdentityName != "")
            {
                predicate = predicate.And(p => p.ResidentRelationShips.ResidentIdentity.IdentityName.Contains(baseInfoInhabitantViewModel.IdentityName));
            }
            //姓名
            if (baseInfoInhabitantViewModel.Name != "")
            {
                predicate = predicate.And(p => p.Name.Contains(baseInfoInhabitantViewModel.Name));
            }
            //性别
            if (baseInfoInhabitantViewModel.Gender != "")
            {
                predicate = predicate.And(p => p.Gender.Contains(baseInfoInhabitantViewModel.Gender));
            }
            //身份证号
            if (baseInfoInhabitantViewModel.IdNumber != "")
            {
                predicate = predicate.And(p => p.IdNumber.Contains(baseInfoInhabitantViewModel.IdNumber));
            }
            //小区名
            if (baseInfoInhabitantViewModel.Area != "")
            {
                predicate = predicate.And(p => p.InfoRelationShips.HouseInfo.Area.Contains(baseInfoInhabitantViewModel.Area));
            }
            //楼号
            if (baseInfoInhabitantViewModel.BuildingNo != 0)
            {
                predicate = predicate.And(p => p.InfoRelationShips.HouseInfo.BuildingNo.Equals(baseInfoInhabitantViewModel.BuildingNo));
            }
            //单元号
            if (baseInfoInhabitantViewModel.UnitNo != 0)
            {
                predicate = predicate.And(p => p.InfoRelationShips.HouseInfo.UnitNo.Equals(baseInfoInhabitantViewModel.UnitNo));
            }
            //门牌号
            if (baseInfoInhabitantViewModel.HouseNo != "")
            {
                predicate = predicate.And(p => p.InfoRelationShips.HouseInfo.HouseNo.Equals(baseInfoInhabitantViewModel.HouseNo));
            }
            //起始年龄
            if (baseInfoInhabitantViewModel.StartAge != 0)
            {
                predicate = predicate.And(p => Convert.ToInt32(DateTime.Now.Year.ToString()) - Convert.ToInt32(p.IdNumber.Substring(6, 4)) >= (baseInfoInhabitantViewModel.StartAge));
            }
            //结束年龄
            if (baseInfoInhabitantViewModel.EndAge != 0)
            {
                predicate = predicate.And(p => Convert.ToInt32(DateTime.Now.Year.ToString()) - Convert.ToInt32(p.IdNumber.Substring(6, 4)) <= (baseInfoInhabitantViewModel.EndAge));
            }
            predicate = predicate.And(p => p.Status == "1");
            return(predicate);
        }
 public int getResidentByAllInfoCount(BaseInfoInhabitantViewModel baseInfoInhabitantViewModel)
 {
     return _baseInfoInhabitantsRepository.getResidentByAllInfoCount(baseInfoInhabitantViewModel);
 }
        public ActionResult <BaseInfoInhabitantsResViewModel> Manage_OpinionInfo_Search(BaseInfoInhabitantViewModel baseInfoInhabitantViewModel)
        {
            var SearchResult = _baseInfoInhabitantsService.getResidentByAllInfo(baseInfoInhabitantViewModel);
            int Total        = _baseInfoInhabitantsService.getResidentByAllInfoCount(baseInfoInhabitantViewModel);
            var Actionresult = _inhabitantFactory.GetBaseInfoInhabitantsResViewModel();

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

            return(Ok(Actionresult));
        }