Example #1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="tags"></param>
 /// <param name="starttime"></param>
 /// <param name="endtime"></param>
 /// <returns></returns>
 public Dictionary <string, StatisticsValueCollection> ReadStatisticsValue(List <string> tags, DateTime starttime, DateTime endtime)
 {
     if (mHisDataClient != null && !string.IsNullOrEmpty(mLoginId))
     {
         Dictionary <string, StatisticsValueCollection> re = new Dictionary <string, StatisticsValueCollection>();
         var req = new NumberValueStatisticsDataRequest()
         {
             StartTime = starttime.ToBinary(), EndTime = endtime.ToBinary(), Token = mLoginId
         };
         req.Tags.AddRange(tags);
         var res = mHisDataClient.GetNumberValueStatisticsData(req);
         if (res.Result)
         {
             foreach (var vv in res.Values)
             {
                 StatisticsValueCollection hvd = new StatisticsValueCollection();
                 foreach (var vvv in vv.Values)
                 {
                     hvd.Add(new StatisticsValue()
                     {
                         Time = DateTime.FromBinary(vvv.Time), AvgValue = vvv.AvgValue, MaxValue = vvv.MaxValue, MaxValueTime = DateTime.FromBinary(vvv.MaxTime), MinValue = vvv.MinValue, MinValueTime = DateTime.FromBinary(vvv.MinTime)
                     });
                 }
                 re.Add(vv.Tag, hvd);
             }
         }
         return(re);
     }
     return(null);
 }
Example #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="request"></param>
 /// <param name="context"></param>
 /// <returns></returns>
 public override Task <StatisticsDataCollectionReplay> GetNumberValueStatisticsData(NumberValueStatisticsDataRequest request, ServerCallContext context)
 {
     if (SecurityManager.Manager.IsLogin(request.Token))
     {
         StatisticsDataCollectionReplay re = new StatisticsDataCollectionReplay()
         {
             Result = true
         };
         foreach (var vv in request.Tags)
         {
             string sname = GetGroupName(vv);
             if (SecurityManager.Manager.CheckReaderPermission(request.Token, sname))
             {
                 ReadTagStatisticsValue(vv, DateTime.FromBinary(request.StartTime), DateTime.FromBinary(request.EndTime), re);
             }
         }
         return(Task.FromResult(re));
     }
     else
     {
         return(Task.FromResult(new StatisticsDataCollectionReplay()
         {
             Result = false
         }));
     }
 }