/// <summary> /// 获取行政村危险区转移人员列表 /// </summary> /// <param name="request"></param> /// <returns></returns> public BsTableDataSource <VillageTransferPersonViewModel> GetVillageTransferPerson(GetVillageTransferPerson request) { using (var db = DbFactory.Open()) { if (string.IsNullOrEmpty(adcd)) { throw new Exception("请重新登录"); } //if (request.year==null) // throw new Exception("年度异常"); var builder = db.From <VillageTransferPerson>(); builder.LeftJoin <VillageTransferPerson, ADCDInfo>((x, y) => x.adcd == y.adcd); builder.Where <VillageTransferPerson>(x => x.DangerZoneName != "" && x.DangerZoneName != null); if (adcd.Length == 15 && adcd.IndexOf("000000") > 0)//登陆的是乡镇用户 { builder.And(y => y.adcd.StartsWith(adcd.Substring(0, 9))); } else if (adcd.Length == 6 && adcd.IndexOf("00") < 0)//登陆的是县级用户 { builder.And(y => y.adcd.StartsWith(adcd.Substring(0, 6))); } else if (adcd == ((int)GrassrootsFloodCtrlEnums.AreaCode.省级编码).ToString() + "000000000")//管理员 { } else { throw new Exception("登陆用户的所属行政区划编码不正确"); } if (!string.IsNullOrEmpty(request.name)) { builder.And(y => y.DangerZoneName.Contains(request.name)); } if (!string.IsNullOrEmpty(request.adnm)) { builder.And <ADCDInfo>(x => x.adnm.Contains(request.adnm)); } if (!string.IsNullOrEmpty(request.adcd)) { builder.And(x => x.adcd == request.adcd); } if (request.id != 0) { builder.And(x => x.ID == request.id); } if (request.adcdId != 0) { builder.And <ADCDInfo>(x => x.Id == request.adcdId); } if (request.year != null) { builder.And(y => y.Year == request.year); } builder.Select("VillageTransferPerson.*,ADCDInfo.adnm"); var count = db.Count(builder); if (!string.IsNullOrEmpty(request.Sort) && !string.IsNullOrEmpty(request.Order) && request.Order == "asc") { builder.OrderBy(x => request.Sort); } else if (!string.IsNullOrEmpty(request.Sort) && !string.IsNullOrEmpty(request.Order) && request.Order == "desc") { builder.OrderByDescending(x => request.Sort); } else { builder.OrderBy(x => x.ID); } var PageSize = request.PageSize == 0 ? 15 : request.PageSize; var PageIndex = request.PageIndex == 0 ? 0 : request.PageIndex * PageSize; builder.Limit(PageIndex, PageSize); var list = db.Select <VillageTransferPersonViewModel>(builder); return(new BsTableDataSource <VillageTransferPersonViewModel>() { rows = list, total = count }); } }
public BsTableDataSource <VillageTransferPersonViewModel> Get(GetVillageTransferPerson request) { return(VillageTransferPersonManager.GetVillageTransferPerson(request)); }