public override void GetObjectData(PTR obj, SerializationInfo info) { base.GetObjectData(obj, info); GetDefaults(); SetOptionalFlags(obj); SerializeValue(0, obj.TEST_NUM); SerializeValue(1, obj.HEAD_NUM); SerializeValue(2, obj.SITE_NUM); SerializeValue(3, obj.TEST_FLG); SerializeValue(4, obj.PARM_FLG); SerializeValue(5, obj.RESULT); SerializeValue(6, obj.TEST_TXT); SerializeValue(7, obj.ALARM_ID); SerializeValue(8, obj.OPT_FLAG); SerializeValue(9, obj.RES_SCAL, obj.ORIG_RES_SCAL); SerializeValue(10, obj.LLM_SCAL, obj.ORIG_LLM_SCAL); SerializeValue(11, obj.HLM_SCAL, obj.ORIG_HLM_SCAL); SerializeValue(12, obj.LO_LIMIT, obj.ORIG_LO_LIMIT); SerializeValue(13, obj.HI_LIMIT, obj.ORIG_HI_LIMIT); SerializeValue(14, obj.UNITS, obj.ORIG_UNITS); SerializeValue(15, obj.C_RESFMT, obj.ORIG_C_RESFMT); SerializeValue(16, obj.C_LLMFMT, obj.ORIG_C_LLMFMT); SerializeValue(17, obj.C_HLMFMT, obj.ORIG_C_HLMFMT); SerializeValue(18, obj.LO_SPEC, obj.ORIG_LO_SPEC); SerializeValue(19, obj.HI_SPEC, obj.ORIG_HI_SPEC); // Set missing value flag on OPT_FLAG. We can truncate this from the record if all fields after the OPT_FLAG field // are missing also. If not, it will be written anyway. CurrentInfo.GetEntry(8).IsMissingValue = true; AddDefaults(); }
public override void GetObjectData(MPR obj, SerializationInfo info) { base.GetObjectData(obj, info); GetDefaults(); SetOptionalFlags(obj); // set array counts obj.RTN_ICNT = (ushort)obj.RTN_INDX.Length; obj.RSLT_CNT = (ushort)obj.RTN_RSLT.Length; info.SetValue(0, obj.TEST_NUM); info.SetValue(1, obj.HEAD_NUM); info.SetValue(2, obj.SITE_NUM); info.SetValue(3, obj.TEST_FLG); info.SetValue(4, obj.PARM_FLG); info.SetValue(5, obj.RTN_ICNT); info.SetValue(6, obj.RSLT_CNT); if (obj.RTN_ICNT > 0) { SerializeValue(7, obj.RTN_STAT); } if (obj.RTN_ICNT > 0) { SerializeValue(8, obj.RTN_RSLT); } info.SetValue(9, obj.TEST_TXT); info.SetValue(10, obj.ALARM_ID); info.SetValue(11, obj.OPT_FLAG); SerializeValue(12, obj.RES_SCAL, obj.ORIG_RES_SCAL); SerializeValue(13, obj.LLM_SCAL, obj.ORIG_LLM_SCAL); SerializeValue(14, obj.HLM_SCAL, obj.ORIG_HLM_SCAL); SerializeValue(15, obj.LO_LIMIT, obj.ORIG_LO_LIMIT); SerializeValue(16, obj.HI_LIMIT, obj.ORIG_HI_LIMIT); SerializeValue(17, obj.START_IN, obj.ORIG_START_IN); SerializeValue(18, obj.INCR_IN, obj.ORIG_INCR_IN); SerializeValue(19, obj.RTN_INDX, obj.ORIG_RTN_INDX); SerializeValue(20, obj.UNITS, obj.ORIG_UNITS); SerializeValue(21, obj.UNITS_IN, obj.ORIG_UNITS_IN); SerializeValue(22, obj.C_RESFMT, obj.ORIG_C_RESFMT); SerializeValue(23, obj.C_LLMFMT, obj.ORIG_C_LLMFMT); SerializeValue(24, obj.C_HLMFMT, obj.ORIG_C_HLMFMT); SerializeValue(25, obj.LO_SPEC, obj.ORIG_LO_SPEC); SerializeValue(26, obj.HI_SPEC, obj.ORIG_HI_SPEC); CurrentInfo.GetEntry(17).IsMissingValue = false; CurrentInfo.GetEntry(18).IsMissingValue = false; AddDefaults(); }