示例#1
0
 public static void ReloadMeters()
 {
     meters = LoadMeters();
 }
示例#2
0
 private static MeterGroup LoadMeters()
 {
     MeterGroup mg = new MeterGroup();
     mg.RMeters = new Dictionary<string, List<MeterParam>>();
     mg.VMeters = new List<MeterParam>();
     mg.MMeter = new List<string>();
     using (MysqlDbContext dbcontext = new MysqlDbContext())
     {
         List<MeterParam> meters = dbcontext.Meters.ToList();
         if (meters != null && meters.Count > 0)
         {
             foreach (MeterParam m in meters)
             {
                 if (string.IsNullOrEmpty(m.FDeviceId))
                 {
                     mg.MMeter.Add(m.DeviceId);//主表
                 }
                 if (string.IsNullOrEmpty(m.ComputationRule))
                 {
                     if (!mg.RMeters.ContainsKey(m.Port.ToUpper()))
                     {
                         mg.RMeters[m.Port.ToUpper()] = new List<MeterParam>();
                     }
                     m.CmdInfos = FromXML(m.Message);
                     mg.RMeters[m.Port.ToUpper()].Add(m);
                 }
                 else
                 {
                     mg.VMeters.Add(m);
                 }
             }
         }
     }
     return mg;
 }
示例#3
0
 public static MeterGroup Meters()
 {
     if (meters == null)
     {
         meters = LoadMeters();
     }
     return (MeterGroup)meters.Clone();
 }