public static DynamicJsonValue ToJson(ServerStore serverStore, TransactionOperationContext context, RawDatabaseRecord record, long databaseIndex) { var mapping = SnmpDatabase.GetIndexMapping(context, serverStore, record.DatabaseName); var djv = new DynamicJsonValue(); if (mapping.Count == 0) { return(djv); } foreach (var indexName in record.Indexes.Keys) { if (mapping.TryGetValue(indexName, out var index) == false) { continue; } var array = new DynamicJsonArray(); foreach (var field in typeof(Indexes).GetFields()) { var fieldValue = GetFieldValue(field); var databaseOid = string.Format(fieldValue.Oid, databaseIndex); var indexOid = string.Format(databaseOid, index); array.Add(CreateJsonItem(Root + indexOid, fieldValue.Description)); } djv[indexName] = array; } return(djv); }
private void LoadDatabase(string databaseName, long databaseIndex) { if (_loadedDatabases.ContainsKey(databaseName)) { return; } _loadedDatabases[databaseName] = new SnmpDatabase(_server.ServerStore.DatabasesLandlord, _objectStore, databaseName, (int)databaseIndex); }