(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)
{
writer.Write(ProgramVersion);
writer.Write((ProgramVersion != null) ? ProgramVersion : string.Empty);
writer.Write(Id);
writer.Write(BatchNr);
writer.Write(TestBenchId);
writer.Write(TestBenchName);
writer.Write(Address1);
writer.Write(Address2);
writer.Write(Address3);
writer.Write(Address4);
writer.Write(Address5);
writer.Write(UserName);
writer.Write((TestBenchName != null) ? TestBenchName : string.Empty);
writer.Write((Address1 != null) ? Address1 : string.Empty);
writer.Write((Address2 != null) ? Address2 : string.Empty);
writer.Write((Address3 != null) ? Address3 : string.Empty);
writer.Write((Address4 != null) ? Address4 : string.Empty);
writer.Write((Address5 != null) ? Address5 : string.Empty);
writer.Write((UserName != null) ? UserName : string.Empty);
writer.Write(UserNumber);
writer.Write(ProcedureName);
writer.Write(ProcedureDescription);
writer.Write((ProcedureName != null) ? ProcedureName : string.Empty);
writer.Write((ProcedureDescription != null) ? ProcedureDescription : string.Empty);
writer.Write(ProcedureRevision);
writer.Write(WatermetersStr);
writer.Write(ProtocolTitle);
writer.Write(Remark);
writer.Write((WatermetersStr != null) ? WatermetersStr : string.Empty);
writer.Write((ProtocolTitle != null) ? ProtocolTitle : string.Empty);
writer.Write((Remark != null) ? Remark : string.Empty);
writer.Write(DensityCorr);
writer.Write(Custom2);
writer.Write(Custom3);
+9 -9
View File
@@ -96,15 +96,15 @@ namespace Results.Entities
{
writer.Write(Id);
writer.Write(TestBenchId);
writer.Write(TestBenchName);
writer.Write(Pump);
writer.Write(RegValve);
writer.Write(Flowmeter);
writer.Write(Diverter);
writer.Write(Scale);
writer.Write(Custom1);
writer.Write(Custom2);
writer.Write(Custom3);
writer.Write((TestBenchName != null) ? TestBenchName : string.Empty);
writer.Write((Pump != null) ? Pump : string.Empty);
writer.Write((RegValve != null) ? RegValve : string.Empty);
writer.Write((Flowmeter != null) ? Flowmeter : string.Empty);
writer.Write((Diverter != null) ? Diverter : string.Empty);
writer.Write((Scale != null) ? Scale : string.Empty);
writer.Write((Custom1 != null) ? Custom1 : string.Empty);
writer.Write((Custom2 != null) ? Custom2 : string.Empty);
writer.Write((Custom3 != null) ? Custom3 : string.Empty);
}
public virtual void ReadBinary(BinaryReader reader)
+5 -3
View File
@@ -169,7 +169,8 @@ namespace Results.Entities
#if ORACLE_DB
writer.Write(LastError);
#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)
@@ -198,11 +199,12 @@ namespace Results.Entities
#endif
TestRslt = null;
string trName = reader.ReadString();
if (testResults != null)
int trPart = reader.ReadInt32();
if (testResults != null && !string.IsNullOrEmpty(trName))
{
foreach (var tr in testResults)
{
if (tr.Name() == trName)
if ((tr.Name() == trName) && (tr.Part == trPart))
{
TestRslt = tr;
break;
+2 -2
View File
@@ -112,14 +112,14 @@ namespace Results.Entities
public virtual void WriteBinary(BinaryWriter writer)
{
writer.Write(Id);
writer.Write(Name);
writer.Write((Name != null) ? Name : string.Empty);
writer.Write(Repeats);
writer.Write(Qtg);
writer.Write(Qfrom);
writer.Write(Qto);
writer.Write(TargetVolume);
writer.Write(TargetTime);
writer.Write(Method);
writer.Write((Method != null) ? Method : string.Empty);
writer.Write(ErrLimLo);
writer.Write(ErrLimHi);
writer.Write(ErrLimMargin);
+3 -3
View File
@@ -375,7 +375,7 @@ namespace Results.Entities
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)
@@ -430,9 +430,9 @@ namespace Results.Entities
writer.Write(Part);
writer.Write(RepetitionNr);
writer.Write(MethodClass);
writer.Write((MethodClass != null) ? MethodClass : string.Empty);
writer.Write(TestDone);
writer.Write(Remark);
writer.Write((Remark != null) ? Remark : string.Empty);
writer.Write(StartTime.ToString());
writer.Write(EndTime.ToString());
writer.Write(FlowSetTime);
+17 -15
View File
@@ -556,21 +556,21 @@ namespace Results.Entities
public virtual void WriteBinary(BinaryWriter writer, IList<WaterMeterData> savedWMDatas)
{
writer.Write(Id);
writer.Write(SerialNr);
writer.Write(SerialNrAux);
writer.Write(PurchaseOrder);
writer.Write((SerialNr != null) ? SerialNr : string.Empty);
writer.Write((SerialNrAux != null) ? SerialNrAux : string.Empty);
writer.Write((PurchaseOrder != null) ? PurchaseOrder : string.Empty);
writer.Write(YearOfProduction);
writer.Write(WMPosition);
writer.Write(EndState);
writer.Write(EndStateAux);
writer.Write((EndState != null) ? EndState : string.Empty);
writer.Write((EndStateAux != null) ? EndStateAux : string.Empty);
writer.Write(QRise);
writer.Write(QFall);
writer.Write(ErrorFlags);
writer.Write(InfoFlags);
writer.Write(Passed);
writer.Write(ResultCode);
writer.Write(ArchivePath);
writer.Write(Remark);
writer.Write((ArchivePath != null) ? ArchivePath : string.Empty);
writer.Write((Remark != null) ? Remark : string.Empty);
#if IPERL
writer.Write(OrigCalibFactor);
writer.Write(CalibFactor);
@@ -583,18 +583,18 @@ namespace Results.Entities
writer.Write(Diff2Hz8Hz);
writer.Write(Hz2CorrectionDone);
writer.Write(Hz2Correction);
writer.Write(FWVersion);
writer.Write((FWVersion != null) ? FWVersion : string.Empty);
#endif
#if TURA_SPECIAL
writer.Write(AssignedSerialNr);
writer.Write(CompleteSerialNr);
writer.Write(RadioAddress);
writer.Write((CompleteSerialNr != null) ? CompleteSerialNr : string.Empty);
writer.Write((RadioAddress != null) ? RadioAddress : string.Empty);
writer.Write(PaletteNr);
writer.Write(UmkartonNr);
writer.Write(ProdTestBench);
writer.Write((ProdTestBench != null) ? ProdTestBench : string.Empty);
writer.Write(ProdWMPosition);
writer.Write(ProdUserName);
writer.Write(ProdPurchaseOrder);
writer.Write((ProdUserName != null) ? ProdUserName : string.Empty);
writer.Write((ProdPurchaseOrder != null) ? ProdPurchaseOrder : string.Empty);
writer.Write(ProdPassed);
writer.Write(ProdResultCode);
writer.Write(ProdQ2CorrRL);
@@ -713,8 +713,10 @@ namespace Results.Entities
MeterTestRslts = new List<MeterTestRslt>();
for (int i = 0; i < meterTestRsltsCount; i++)
{
MeterTestRslts.Add(new MeterTestRslt());
MeterTestRslts[i].ReadBinary(reader, testRslts);
MeterTestRslt mtr = new MeterTestRslt();
mtr.WaterMeter = this;
mtr.ReadBinary(reader, testRslts);
MeterTestRslts.Add(mtr);
}
/// 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
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.25.1400.0")]
[assembly: AssemblyFileVersion("2.25.1400.0")]
[assembly: AssemblyVersion("2.25.1408.0")]
[assembly: AssemblyFileVersion("2.25.1408.0")]
+2 -2
View File
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
[assembly: AssemblyVersion("2.25.1407.0")]
[assembly: AssemblyFileVersion("2.25.1407.0")]
[assembly: AssemblyVersion("2.25.1408.0")]
[assembly: AssemblyFileVersion("2.25.1408.0")]