diff --git a/Results/Entities/Batch.cs b/Results/Entities/Batch.cs index b521c7072..b250941fe 100644 --- a/Results/Entities/Batch.cs +++ b/Results/Entities/Batch.cs @@ -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); diff --git a/Results/Entities/Components.cs b/Results/Entities/Components.cs index 2924e95eb..312048540 100644 --- a/Results/Entities/Components.cs +++ b/Results/Entities/Components.cs @@ -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) diff --git a/Results/Entities/MeterTestRslt.cs b/Results/Entities/MeterTestRslt.cs index 57ca282ab..26c687b89 100644 --- a/Results/Entities/MeterTestRslt.cs +++ b/Results/Entities/MeterTestRslt.cs @@ -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 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; diff --git a/Results/Entities/TestData.cs b/Results/Entities/TestData.cs index 5c588130f..525c8ea86 100644 --- a/Results/Entities/TestData.cs +++ b/Results/Entities/TestData.cs @@ -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); diff --git a/Results/Entities/TestRslt.cs b/Results/Entities/TestRslt.cs index cb8b2bbc9..19ac18a80 100644 --- a/Results/Entities/TestRslt.cs +++ b/Results/Entities/TestRslt.cs @@ -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); diff --git a/Results/Entities/WaterMeter.cs b/Results/Entities/WaterMeter.cs index 29964da8d..232751292 100644 --- a/Results/Entities/WaterMeter.cs +++ b/Results/Entities/WaterMeter.cs @@ -556,21 +556,21 @@ namespace Results.Entities public virtual void WriteBinary(BinaryWriter writer, IList 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(); 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 ??? diff --git a/Results/Properties/AssemblyInfo.cs b/Results/Properties/AssemblyInfo.cs index a208ca4c0..499f9ef32 100644 --- a/Results/Properties/AssemblyInfo.cs +++ b/Results/Properties/AssemblyInfo.cs @@ -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")] diff --git a/TBF/Properties/AssemblyInfo.cs b/TBF/Properties/AssemblyInfo.cs index 793327674..6abadbff6 100644 --- a/TBF/Properties/AssemblyInfo.cs +++ b/TBF/Properties/AssemblyInfo.cs @@ -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")]