public void TestSetUp() { _logGenerator = new Log200Generator(); _wellboreReference = new DataObjectReference { ContentType = EtpContentTypes.Witsml200.For(ObjectTypes.Wellbore), Title = _logGenerator.Name("Wellbore"), Uuid = _logGenerator.Uid() }; _timeLog = new Log() { TimeDepth = "Time", Citation = _logGenerator.CreateCitation(_logGenerator.Name("Citation")), Wellbore = _wellboreReference, Uuid = _logGenerator.Uid() }; _depthLog = new Log() { TimeDepth = "Depth", Citation = _logGenerator.CreateCitation(_logGenerator.Name("Citation")), Wellbore = _wellboreReference, Uuid = _logGenerator.Uid() }; _measuredDepthIndex = _logGenerator.CreateMeasuredDepthIndex(IndexDirection.increasing); _dateTimeIndex = _logGenerator.CreateDateTimeIndex(); _elapseTimeIndex = _logGenerator.CreateElapsedTimeIndex(IndexDirection.increasing); _booleanPointMetadata = _logGenerator.CreatePointMetadata("confidence", "confidence", EtpDataType.boolean); _floatPointMetadata = _logGenerator.CreatePointMetadata("Confidence", "Confidence", EtpDataType.@float); _depthLogChannelSet = _logGenerator.CreateChannelSet(_depthLog); _depthLogChannelSet.Index.Add(_measuredDepthIndex); _depthLogChannelSet.Index.Add(_dateTimeIndex); _depthLogChannelSet.Channel.Add(_logGenerator.CreateChannel(_depthLog, _depthLogChannelSet.Index, "Rate of Penetration", "ROP", UnitOfMeasure.mh, "Velocity", EtpDataType.@double, pointMetadataList: _logGenerator.List(_booleanPointMetadata))); _depthLogChannelSet.Channel.Add(_logGenerator.CreateChannel(_depthLog, _depthLogChannelSet.Index, "Hookload", "HKLD", UnitOfMeasure.klbf, "Force", EtpDataType.@double, null)); _timeLogChannelSet = _logGenerator.CreateChannelSet(_timeLog); _timeLogChannelSet.Index.Add(_elapseTimeIndex); _timeLogChannelSet.Channel.Add(_logGenerator.CreateChannel(_timeLog, _timeLogChannelSet.Index, "Rate of Penetration", "ROP", UnitOfMeasure.mh, "Velocity", EtpDataType.@double, pointMetadataList: _logGenerator.List(_floatPointMetadata))); }
private void dataProcess(string[] source) { string errorinfo = ""; string[] datas = new string[source.Length - 3]; Array.Copy(source, 2, datas, 0, datas.Length); switch (source[1]) { case "11": goto lable01; case "21": errorinfo = "Freedom read error: "; goto lable10; case "12": AsyncWriteEvent?.Invoke(true); return; case "22": AsyncWriteEvent?.Invoke(false); errorinfo = "Freedom write error: "; goto lable10; case "15": goto lable01; case "25": errorinfo = "Freedom subscribe error: "; goto lable10; case "16": AsyncCancelSubEvent?.Invoke(true); return; case "26": AsyncCancelSubEvent?.Invoke(false); errorinfo = "Freedom Cancelsubscribe error: "; goto lable10; case "1F": List <PointMetadata> result = new List <PointMetadata>(); for (int i = 0; i < (datas.Length / 4); i++) { bool isVirual; int length; if (bool.TryParse(datas[4 * i + 2], out isVirual) && int.TryParse(datas[4 * i + 3], out length)) { PointMetadata metaData = new PointMetadata(datas[4 * i], datas[4 * i + 1], length, isVirual); result.Add(metaData); } } AsyncReadMetaData?.Invoke(result); return; case "2F": errorinfo = "Freedom read Meta Data error: "; goto lable10; default: return; } lable01: List <AsyncResult> asynResults = new List <AsyncResult>(); for (int i = 0; i < (datas.Length / 4); i++) { var nameGroup = datas[4 * i].Split('['); string index = "0"; var name = nameGroup[0]; if (nameGroup.Length >= 2) { index = nameGroup[1].Replace("]", ""); } asynResults.Add(new AsyncResult { Name = name, Index = index, Type = datas[4 * i + 1], Value = datas[4 * i + 2], Quality = datas[4 * i + 3] }); } AsyncReadOrSubsEvent?.Invoke(asynResults); return; lable10: foreach (string s in datas) { errorinfo = string.Concat(errorinfo, s); } _log.ErrorLog(errorinfo); }