(1) PData serialization of strings copes with nulls (2) Correct links MeterTestRslt->TestRslts restored, ver. 2.25.1408

This commit is contained in:
Milan Hanajik
2020-02-07 10:08:42 +01:00
parent a138e1117c
commit 14a96ea3e8
8 changed files with 53 additions and 49 deletions
+13 -13
View File
@@ -233,24 +233,24 @@ namespace Results.Entities
public virtual void WriteBinary(BinaryWriter writer) public virtual void WriteBinary(BinaryWriter writer)
{ {
writer.Write(ProgramVersion); writer.Write((ProgramVersion != null) ? ProgramVersion : string.Empty);
writer.Write(Id); writer.Write(Id);
writer.Write(BatchNr); writer.Write(BatchNr);
writer.Write(TestBenchId); writer.Write(TestBenchId);
writer.Write(TestBenchName); writer.Write((TestBenchName != null) ? TestBenchName : string.Empty);
writer.Write(Address1); writer.Write((Address1 != null) ? Address1 : string.Empty);
writer.Write(Address2); writer.Write((Address2 != null) ? Address2 : string.Empty);
writer.Write(Address3); writer.Write((Address3 != null) ? Address3 : string.Empty);
writer.Write(Address4); writer.Write((Address4 != null) ? Address4 : string.Empty);
writer.Write(Address5); writer.Write((Address5 != null) ? Address5 : string.Empty);
writer.Write(UserName); writer.Write((UserName != null) ? UserName : string.Empty);
writer.Write(UserNumber); writer.Write(UserNumber);
writer.Write(ProcedureName); writer.Write((ProcedureName != null) ? ProcedureName : string.Empty);
writer.Write(ProcedureDescription); writer.Write((ProcedureDescription != null) ? ProcedureDescription : string.Empty);
writer.Write(ProcedureRevision); writer.Write(ProcedureRevision);
writer.Write(WatermetersStr); writer.Write((WatermetersStr != null) ? WatermetersStr : string.Empty);
writer.Write(ProtocolTitle); writer.Write((ProtocolTitle != null) ? ProtocolTitle : string.Empty);
writer.Write(Remark); writer.Write((Remark != null) ? Remark : string.Empty);
writer.Write(DensityCorr); writer.Write(DensityCorr);
writer.Write(Custom2); writer.Write(Custom2);
writer.Write(Custom3); writer.Write(Custom3);
+9 -9
View File
@@ -96,15 +96,15 @@ namespace Results.Entities
{ {
writer.Write(Id); writer.Write(Id);
writer.Write(TestBenchId); writer.Write(TestBenchId);
writer.Write(TestBenchName); writer.Write((TestBenchName != null) ? TestBenchName : string.Empty);
writer.Write(Pump); writer.Write((Pump != null) ? Pump : string.Empty);
writer.Write(RegValve); writer.Write((RegValve != null) ? RegValve : string.Empty);
writer.Write(Flowmeter); writer.Write((Flowmeter != null) ? Flowmeter : string.Empty);
writer.Write(Diverter); writer.Write((Diverter != null) ? Diverter : string.Empty);
writer.Write(Scale); writer.Write((Scale != null) ? Scale : string.Empty);
writer.Write(Custom1); writer.Write((Custom1 != null) ? Custom1 : string.Empty);
writer.Write(Custom2); writer.Write((Custom2 != null) ? Custom2 : string.Empty);
writer.Write(Custom3); writer.Write((Custom3 != null) ? Custom3 : string.Empty);
} }
public virtual void ReadBinary(BinaryReader reader) public virtual void ReadBinary(BinaryReader reader)
+5 -3
View File
@@ -169,7 +169,8 @@ namespace Results.Entities
#if ORACLE_DB #if ORACLE_DB
writer.Write(LastError); writer.Write(LastError);
#endif #endif
writer.Write(TestRslt.Name()); writer.Write((TestRslt != null && TestRslt.Name() != null) ? TestRslt.Name() : string.Empty);
writer.Write(TestRslt.Part);
} }
public virtual void ReadBinary(BinaryReader reader, IList<TestRslt> testResults) public virtual void ReadBinary(BinaryReader reader, IList<TestRslt> testResults)
@@ -198,11 +199,12 @@ namespace Results.Entities
#endif #endif
TestRslt = null; TestRslt = null;
string trName = reader.ReadString(); string trName = reader.ReadString();
if (testResults != null) int trPart = reader.ReadInt32();
if (testResults != null && !string.IsNullOrEmpty(trName))
{ {
foreach (var tr in testResults) foreach (var tr in testResults)
{ {
if (tr.Name() == trName) if ((tr.Name() == trName) && (tr.Part == trPart))
{ {
TestRslt = tr; TestRslt = tr;
break; break;
+2 -2
View File
@@ -112,14 +112,14 @@ namespace Results.Entities
public virtual void WriteBinary(BinaryWriter writer) public virtual void WriteBinary(BinaryWriter writer)
{ {
writer.Write(Id); writer.Write(Id);
writer.Write(Name); writer.Write((Name != null) ? Name : string.Empty);
writer.Write(Repeats); writer.Write(Repeats);
writer.Write(Qtg); writer.Write(Qtg);
writer.Write(Qfrom); writer.Write(Qfrom);
writer.Write(Qto); writer.Write(Qto);
writer.Write(TargetVolume); writer.Write(TargetVolume);
writer.Write(TargetTime); writer.Write(TargetTime);
writer.Write(Method); writer.Write((Method != null) ? Method : string.Empty);
writer.Write(ErrLimLo); writer.Write(ErrLimLo);
writer.Write(ErrLimHi); writer.Write(ErrLimHi);
writer.Write(ErrLimMargin); writer.Write(ErrLimMargin);
+3 -3
View File
@@ -375,7 +375,7 @@ namespace Results.Entities
public override string ToString() public override string ToString()
{ {
return string.Format("batch={0}, procedure={1}, test={2}, {3} {4}", Batch.BatchNr, Batch.ProcedureName, Name(), StartTime.ToShortDateString(), StartTime.ToShortTimeString()); return string.Format("batch={0}, procedure={1}, test={2}, part={3} start={4} {5}", Batch.BatchNr, Batch.ProcedureName, Name(), Part, StartTime.ToShortDateString(), StartTime.ToShortTimeString());
} }
public virtual string ToString(int i) public virtual string ToString(int i)
@@ -430,9 +430,9 @@ namespace Results.Entities
writer.Write(Part); writer.Write(Part);
writer.Write(RepetitionNr); writer.Write(RepetitionNr);
writer.Write(MethodClass); writer.Write((MethodClass != null) ? MethodClass : string.Empty);
writer.Write(TestDone); writer.Write(TestDone);
writer.Write(Remark); writer.Write((Remark != null) ? Remark : string.Empty);
writer.Write(StartTime.ToString()); writer.Write(StartTime.ToString());
writer.Write(EndTime.ToString()); writer.Write(EndTime.ToString());
writer.Write(FlowSetTime); writer.Write(FlowSetTime);
+17 -15
View File
@@ -556,21 +556,21 @@ namespace Results.Entities
public virtual void WriteBinary(BinaryWriter writer, IList<WaterMeterData> savedWMDatas) public virtual void WriteBinary(BinaryWriter writer, IList<WaterMeterData> savedWMDatas)
{ {
writer.Write(Id); writer.Write(Id);
writer.Write(SerialNr); writer.Write((SerialNr != null) ? SerialNr : string.Empty);
writer.Write(SerialNrAux); writer.Write((SerialNrAux != null) ? SerialNrAux : string.Empty);
writer.Write(PurchaseOrder); writer.Write((PurchaseOrder != null) ? PurchaseOrder : string.Empty);
writer.Write(YearOfProduction); writer.Write(YearOfProduction);
writer.Write(WMPosition); writer.Write(WMPosition);
writer.Write(EndState); writer.Write((EndState != null) ? EndState : string.Empty);
writer.Write(EndStateAux); writer.Write((EndStateAux != null) ? EndStateAux : string.Empty);
writer.Write(QRise); writer.Write(QRise);
writer.Write(QFall); writer.Write(QFall);
writer.Write(ErrorFlags); writer.Write(ErrorFlags);
writer.Write(InfoFlags); writer.Write(InfoFlags);
writer.Write(Passed); writer.Write(Passed);
writer.Write(ResultCode); writer.Write(ResultCode);
writer.Write(ArchivePath); writer.Write((ArchivePath != null) ? ArchivePath : string.Empty);
writer.Write(Remark); writer.Write((Remark != null) ? Remark : string.Empty);
#if IPERL #if IPERL
writer.Write(OrigCalibFactor); writer.Write(OrigCalibFactor);
writer.Write(CalibFactor); writer.Write(CalibFactor);
@@ -583,18 +583,18 @@ namespace Results.Entities
writer.Write(Diff2Hz8Hz); writer.Write(Diff2Hz8Hz);
writer.Write(Hz2CorrectionDone); writer.Write(Hz2CorrectionDone);
writer.Write(Hz2Correction); writer.Write(Hz2Correction);
writer.Write(FWVersion); writer.Write((FWVersion != null) ? FWVersion : string.Empty);
#endif #endif
#if TURA_SPECIAL #if TURA_SPECIAL
writer.Write(AssignedSerialNr); writer.Write(AssignedSerialNr);
writer.Write(CompleteSerialNr); writer.Write((CompleteSerialNr != null) ? CompleteSerialNr : string.Empty);
writer.Write(RadioAddress); writer.Write((RadioAddress != null) ? RadioAddress : string.Empty);
writer.Write(PaletteNr); writer.Write(PaletteNr);
writer.Write(UmkartonNr); writer.Write(UmkartonNr);
writer.Write(ProdTestBench); writer.Write((ProdTestBench != null) ? ProdTestBench : string.Empty);
writer.Write(ProdWMPosition); writer.Write(ProdWMPosition);
writer.Write(ProdUserName); writer.Write((ProdUserName != null) ? ProdUserName : string.Empty);
writer.Write(ProdPurchaseOrder); writer.Write((ProdPurchaseOrder != null) ? ProdPurchaseOrder : string.Empty);
writer.Write(ProdPassed); writer.Write(ProdPassed);
writer.Write(ProdResultCode); writer.Write(ProdResultCode);
writer.Write(ProdQ2CorrRL); writer.Write(ProdQ2CorrRL);
@@ -713,8 +713,10 @@ namespace Results.Entities
MeterTestRslts = new List<MeterTestRslt>(); MeterTestRslts = new List<MeterTestRslt>();
for (int i = 0; i < meterTestRsltsCount; i++) for (int i = 0; i < meterTestRsltsCount; i++)
{ {
MeterTestRslts.Add(new MeterTestRslt()); MeterTestRslt mtr = new MeterTestRslt();
MeterTestRslts[i].ReadBinary(reader, testRslts); mtr.WaterMeter = this;
mtr.ReadBinary(reader, testRslts);
MeterTestRslts.Add(mtr);
} }
/// TODO: lastMeterTestRslts ??? /// TODO: lastMeterTestRslts ???
+2 -2
View File
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers // You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.25.1400.0")] [assembly: AssemblyVersion("2.25.1408.0")]
[assembly: AssemblyFileVersion("2.25.1400.0")] [assembly: AssemblyFileVersion("2.25.1408.0")]
+2 -2
View File
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number // Build Number
// Revision // Revision
// //
[assembly: AssemblyVersion("2.25.1407.0")] [assembly: AssemblyVersion("2.25.1408.0")]
[assembly: AssemblyFileVersion("2.25.1407.0")] [assembly: AssemblyFileVersion("2.25.1408.0")]