public static void ReloadMeters() { meters = LoadMeters(); }
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; }
public static MeterGroup Meters() { if (meters == null) { meters = LoadMeters(); } return (MeterGroup)meters.Clone(); }