Exemplo n.º 1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="tagIds"></param>
 /// <param name="group"></param>
 /// <returns></returns>
 public Dictionary <int, Tuple <int, DateTime, object> > ReadRealValueAndQualityTimeById(List <int> tagIds, string group)
 {
     try
     {
         Dictionary <int, Tuple <int, DateTime, object> > re = new Dictionary <int, Tuple <int, DateTime, object> >();
         var gtags = group;
         var vvv   = new GetRealValueByIdRequest()
         {
             Group = group, Token = mLoginId
         };
         vvv.Ids.AddRange(tagIds);
         var res = mRealDataClient.GetRealValueById(vvv);
         if (res.Result)
         {
             foreach (var val in res.Values)
             {
                 re.Add(val.Id, new Tuple <int, DateTime, object>(val.Quality, DateTime.FromBinary(val.Time), ConvertToValue(val.Value, val.ValueType)));
             }
         }
         return(re);
     }
     catch
     {
     }
     return(null);
 }
Exemplo n.º 2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="request"></param>
 /// <param name="context"></param>
 /// <returns></returns>
 public override Task <GetRealValueOnlyReply> GetRealValueOnlyById(GetRealValueByIdRequest request, ServerCallContext context)
 {
     if (SecurityManager.Manager.IsLogin(request.Token) && SecurityManager.Manager.CheckReaderPermission(request.Token, request.Group))
     {
         GetRealValueOnlyReply response = new GetRealValueOnlyReply()
         {
             Result = true
         };
         var service = ServiceLocator.Locator.Resolve <IRealTagConsumer>();
         for (int i = 0; i < request.Ids.Count; i++)
         {
             byte     quality;
             DateTime time;
             byte     tagtype = 0;
             var      val     = service.GetTagValue(request.Ids[i], out quality, out time, out tagtype);
             if (val != null)
             {
                 response.Values.Add(new ValueOnly()
                 {
                     Id = i, Value = val.ToString(), ValueType = tagtype
                 });
             }
         }
         return(Task.FromResult(response));
     }
     else
     {
         return(Task.FromResult(new GetRealValueOnlyReply()
         {
             Result = false
         }));
     }
 }
Exemplo n.º 3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="tagIds"></param>
 /// <param name="group"></param>
 /// <returns></returns>
 public Dictionary <int, object> ReadRealValueById(List <int> tagIds, string group)
 {
     try
     {
         Dictionary <int, object> re = new Dictionary <int, object>();
         var gtags = group;
         var vvv   = new GetRealValueByIdRequest()
         {
             Group = group, Token = mLoginId
         };
         vvv.Ids.AddRange(tagIds);
         var res = mRealDataClient.GetRealValueOnlyById(vvv);
         if (res.Result)
         {
             foreach (var val in res.Values)
             {
                 re.Add(val.Id, ConvertToValue(val.Value, val.ValueType));
             }
         }
         return(re);
     }
     catch
     {
     }
     return(null);
 }