Пример #1
0
        /// <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());
        }
Пример #2
0
        /// <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());
        }
Пример #3
0
        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));
        }