/// <summary> /// get records by key /// </summary> /// <param name="infoCenter"></param> /// <param name="keys"></param> /// <param name="recordDetail"></param> /// <param name="rowAccess"></param> /// <param name="chunkSize"></param> /// <param name="tableInfo"></param> /// <returns></returns> public VisionMessage GetRecordsByKey(string infoCenter, VisionKeyList keys, RecordDetail recordDetail = RecordDetail.Empty, bool rowAccess = false, int chunkSize = 100, XElement tableInfo = null) { try { VisionMessage _retval = new VisionMessage(); int _nextChunk = 1; bool _lastChunk = false; string _sessionId = ""; string _connInfo = GetConnectionInfo(); do { string _xmlretval = service.GetRecordsByKey( _connInfo, GetInfoCenterXML(infoCenter, rowAccess, _nextChunk, chunkSize, tableInfo), keys.ToString(), recordDetail.GetValueName() ); //read loop moved into separate method... _lastChunk = ReadResult(ref _sessionId, _xmlretval, ref _retval); if (string.IsNullOrEmpty(_sessionId) == false) { _connInfo = GetVisionConnInfoXML(database, username, password, _sessionId); } _nextChunk += 1; } while (_lastChunk == false); return(_retval); } catch (Exception ex) { logger.Error(ex, $"GetRecordsByKey() with keys [{keys.ToString()}] call failed"); return(VisionMessage.FromException(ex)); } }
/// <summary> /// returns a keys xml string /// </summary> /// <param name="keys"></param> /// <returns></returns> public static string GetKeysXML(VisionKeyList keys) { return(keys.ToString()); }