/// <summary> /// 根据雨量站点,查询一段时间内每个时间点的雨量值,并且按照雨量站点分类返回 /// </summary> /// <param name="stime"></param> /// <param name="etime"></param> /// <param name="stationIds"></param> /// <returns></returns> public IList <RainfallGroupedByStation> GetGroupByStation( DateTime stime, DateTime etime, string stationIds = null) { if (stime == null || etime == null) { throw new Exception("输入的时间段值有误"); } List <String> stationIdList = null; if (!String.IsNullOrEmpty(stationIds)) { string[] ids = stationIds.Split(','); stationIdList = ids.ToList(); } Expression <Func <Rainfall, Boolean> > funcStationIds = LinqEntityHelper.GetExpressionForSingle <Rainfall, List <String> >(stationIdList, r => stationIds.Contains(r.RainfallStation.StationId)); Expression <Func <Rainfall, Boolean> > funcTimeline = r => r.CollectTime >= stime && r.CollectTime <= etime; var eps = DynamicLinqExpressions.True <Rainfall>() .And(funcStationIds) .And(funcTimeline); IQueryable <RainfallGroupedByStation> rains = this._rainfallStationService.GetStaionIdGroupByCondition(eps); return(rains.ToList()); }
/// <summary> /// 查询一个时间点上的,所有满足StationIds条件的雨量值 /// </summary> /// <param name="timing"></param> /// <param name="stationIds"></param> /// <returns></returns> public IList <Rainfall> GetByStationIdsWithTiming(DateTime timing, string stationIds = null) { if (timing == null) { throw new Exception("不存在这样的时间点参数"); } List <String> stationIdList = null; if (!String.IsNullOrEmpty(stationIds)) { string[] ids = stationIds.Split(','); } Expression <Func <Rainfall, Boolean> > funcStationIds = LinqEntityHelper.GetExpressionForSingle <Rainfall, List <String> >(stationIdList, r => stationIds.Contains(r.RainfallStation.StationId)); Expression <Func <Rainfall, Boolean> > funcTiming = r => r.CollectTime == timing; var eps = DynamicLinqExpressions.True <Rainfall>() .And(funcStationIds) .And(funcTiming); IQueryable <Rainfall> rains = this._rainfallStationService.GetByCondition(eps); return(rains.ToList()); }
public IQueryable <MassPre> GetByKeyWord(string keyWord) { var eps = DynamicLinqExpressions.False <MassPre>(); var epsName = LinqEntityHelper.GetExpressionForSingle <MassPre, String> (keyWord, m => m.称.Contains(keyWord)); var epsUid = LinqEntityHelper.GetExpressionForSingle <MassPre, String> (keyWord, m => m.统一编号.Contains(keyWord)); eps = eps.Or(epsName).Or(epsUid); return(this.ExecuteConditions(eps)); }