private JsonDataMap getByNamespace(IInstrumentation instr) { var data = new JsonDataMap(); IEnumerable <Type> typeKeys = instr.DataTypes.OrderBy(t => t.FullName); foreach (var tkey in typeKeys) { Datum datum = null; var sourceKeys = instr.GetDatumTypeSources(tkey, out datum).OrderBy(s => s); if (datum == null) { continue; } var tData = new JsonDataMap(); tData["data"] = sourceKeys; tData["descr"] = datum.Description; tData["unit"] = datum.ValueUnitName; tData["error"] = datum is IErrorInstrument; tData["gauge"] = datum is Gauge; data.Add(tkey.FullName, tData); } return(data); }
private JsonDataMap getByInterface(IInstrumentation instr) { var data = new JsonDataMap(); var sortedTypes = instr.DataTypes.OrderBy(t => t.FullName); IEnumerable <Type> intfKeys = instr.DataTypes.SelectMany(t => Datum.GetViewGroupInterfaces(t)).Distinct().OrderBy(ti => ti.FullName); foreach (var ikey in intfKeys) { var iData = new JsonDataMap(); IEnumerable <Type> typeKeys = sortedTypes.Where(t => Datum.GetViewGroupInterfaces(t).Any(i => i == ikey)); foreach (var tkey in typeKeys) { Datum datum = null; var sourceKeys = instr.GetDatumTypeSources(tkey, out datum); if (datum == null) { continue; } var tData = new JsonDataMap(); tData["descr"] = datum.Description; tData["unit"] = datum.ValueUnitName; tData["error"] = datum is IErrorInstrument; tData["gauge"] = datum is Gauge; tData["data"] = sourceKeys; iData.Add(tkey.FullName, tData); } data.Add(ikey.Name, iData); } return(data); }