From ce3328fbf6271e60e3ff08be65ffde53c155b04e Mon Sep 17 00:00:00 2001 From: Milan Hanajik Date: Mon, 12 Apr 2021 13:09:09 +0200 Subject: [PATCH] Results.Entities bug fixes and copy constructors. --- Results/Entities/Batch.cs | 50 ++++- Results/Entities/Components.cs | 58 +++-- Results/Entities/MeterTestRslt.cs | 46 ++-- Results/Entities/TestData.cs | 65 ++++-- Results/Entities/TestRslt.cs | 344 +++++++++++++++-------------- Results/Entities/WaterMeter.cs | 77 +++---- Results/Entities/WaterMeterData.cs | 140 +++++++----- 7 files changed, 460 insertions(+), 320 deletions(-) diff --git a/Results/Entities/Batch.cs b/Results/Entities/Batch.cs index e238392b9..9ce807059 100644 --- a/Results/Entities/Batch.cs +++ b/Results/Entities/Batch.cs @@ -40,11 +40,11 @@ namespace Results.Entities public virtual bool Dirty { get; set; } public virtual bool RsltsSent { get; set; } public virtual bool RsltsPrinted { get; set; } - public virtual IList Tests { get; set; } + public virtual bool Compound { get; set; } /// Not mapped to DB now + public virtual bool HeatMeter { get; set; } /// Not mapped to DB now + public virtual IList Tests { get; set; } public virtual IList WaterMeters { get; set; } public virtual IList TestRslts { get; set; } - public virtual bool Compound { get; set; } /// Not mapped to DB now - public virtual bool HeatMeter { get; set; } /// Not mapped to DB now public virtual IList RegularTests() { @@ -119,6 +119,50 @@ namespace Results.Entities Buoyancy = Config.Data.Buoyancy; } + /// + /// Copy constructor, copies all except of Id. + /// Lists Tests, WaterMeters and TestRslts are empty. Have to be copied elwhere. + /// + public Batch(Batch oriBatch) + { + BatchNr = oriBatch.BatchNr; + ProgramVersion = oriBatch.ProgramVersion; + TestBenchId = oriBatch.TestBenchId; + TestBenchName = oriBatch.TestBenchName; + Address1 = oriBatch.Address1; + Address2 = oriBatch.Address2; + Address3 = oriBatch.Address3; + Address4 = oriBatch.Address4; + Address5 = oriBatch.Address5; + UserName = oriBatch.UserName; + UserNumber = oriBatch.UserNumber; + ProcedureName = oriBatch.ProcedureName; + IsRemoteProcedure = oriBatch.IsRemoteProcedure; + ProcedureDescription = oriBatch.ProcedureDescription; + ProcedureRevision = oriBatch.ProcedureRevision; + WatermetersStr = oriBatch.WatermetersStr; + Remark = oriBatch.Remark; + SampleDensity = oriBatch.SampleDensity; + SampleTemp = oriBatch.SampleTemp; + Buoyancy = oriBatch.Buoyancy; + Counter6 = oriBatch.Counter6; + Counter7 = oriBatch.Counter7; + Counter8 = oriBatch.Counter8; + Counter9 = oriBatch.Counter9; + Counter10 = oriBatch.Counter10; + StartTime = oriBatch.StartTime; + EndTime = oriBatch.EndTime; + Dirty = oriBatch.Dirty; + RsltsSent = oriBatch.RsltsSent; + RsltsPrinted = oriBatch.RsltsPrinted; + Compound = oriBatch.Compound; + HeatMeter = oriBatch.HeatMeter; + + Tests = new List(); + WaterMeters = new List(); + TestRslts = new List(); + } + public virtual int PassedMetersCount() { int count = 0; diff --git a/Results/Entities/Components.cs b/Results/Entities/Components.cs index 51966bd23..7d68b8e7e 100644 --- a/Results/Entities/Components.cs +++ b/Results/Entities/Components.cs @@ -1,5 +1,5 @@ /// -/// Copyright (c) 2016-2020 Sensus Slovensko a.s. +/// Copyright (c) 2016-2021 Sensus Slovensko a.s. /// using System; using System.Collections.Generic; @@ -22,35 +22,55 @@ namespace Results.Entities public virtual string Custom2 { get; set; } public virtual string Custom3 { get; set; } + /// + /// Default constructor, safe values + /// public Components() { TestBenchId = 0; TestBenchName = string.Empty; - Pump = string.Empty; - RegValve = string.Empty; - Flowmeter = string.Empty; - Diverter = string.Empty; - Scale = string.Empty; - Custom1 = string.Empty; - Custom2 = string.Empty; - Custom3 = string.Empty; + Pump = string.Empty; + RegValve = string.Empty; + Flowmeter = string.Empty; + Diverter = string.Empty; + Scale = string.Empty; + Custom1 = string.Empty; + Custom2 = string.Empty; + Custom3 = string.Empty; } public Components(int benchId, string benchName, string pump, string flowmeter, - string scale, string regValve, string diverter) + string scale, string regValve, string diverter) { - TestBenchId = benchId; + TestBenchId = benchId; TestBenchName = benchName; - Pump = pump; - RegValve = regValve; - Flowmeter = flowmeter; - Diverter = diverter; - Scale = scale; - Custom1 = string.Empty; - Custom2 = string.Empty; - Custom3 = string.Empty; + Pump = pump; + RegValve = regValve; + Flowmeter = flowmeter; + Diverter = diverter; + Scale = scale; + Custom1 = string.Empty; + Custom2 = string.Empty; + Custom3 = string.Empty; } + /// + /// Copy constructor, copies all except of Id + /// + public Components(Components oriComponents) + { + TestBenchId = oriComponents.TestBenchId; + TestBenchName = oriComponents.TestBenchName; + Pump = oriComponents.Pump; + RegValve = oriComponents.RegValve; + Flowmeter = oriComponents.Flowmeter; + Diverter = oriComponents.Diverter; + Scale = oriComponents.Scale; + Custom1 = oriComponents.Custom1; + Custom2 = oriComponents.Custom2; + Custom3 = oriComponents.Custom3; + } + /// /// Method to compare the content of two entities diff --git a/Results/Entities/MeterTestRslt.cs b/Results/Entities/MeterTestRslt.cs index e3f84d0c1..1431a681d 100644 --- a/Results/Entities/MeterTestRslt.cs +++ b/Results/Entities/MeterTestRslt.cs @@ -1,5 +1,5 @@ /// -/// Copyright (c) 2013-2020 Sensus Slovensko a.s. +/// Copyright (c) 2013-2021 Sensus Slovensko a.s. /// using System; using System.Collections.Generic; @@ -12,7 +12,6 @@ namespace Results.Entities public virtual int Id { get; protected set; } public virtual byte CompoundMeterId { get; set; } /// 0=single, 1=compound/main, 2=compound/aux., 3=compound/overal, 4=heat meter volume, 5=heat meter energy public virtual int RegReaderType { get; set; } /// Not mapped to the DB, does not depend on localization and customer - public virtual double PulsesMeter { get; set; } /// # of water meter or heat meter pulses public virtual double PulsesMaster { get; set; } /// # of reference flowmeter pulses (gated by this water meter pulses) public virtual double PulsesPerLiter { get; set; } /// [l ^ -1], in case of heat meters (CompoundMeterId==5) pulses per kWh in [kWh ^ -1] @@ -114,29 +113,40 @@ namespace Results.Entities CompoundMeterId = (byte)compoundMeterId; } + /// + /// Copy constructor, copies all except of Id + /// TestRslt and WaterMeter references arenot set. + /// They have to be copied/ser manually. + /// + public MeterTestRslt(MeterTestRslt oriMTR) + { + CopyContentFrom(oriMTR); + } + public virtual void CopyContentFrom(MeterTestRslt src) { if (src == null) return; CompoundMeterId = src.CompoundMeterId; - RegReaderType = src.RegReaderType; - PulsesMeter = src.PulsesMeter; - PulsesMaster = src.PulsesMaster; - PulsesPerLiter = src.PulsesPerLiter; - VolumeStart = src.VolumeStart; - VolumeEnd = src.VolumeEnd; - VolumeMeter = src.VolumeMeter; - VolumeRef = src.VolumeRef; - TimestampStart = src.TimestampStart; - TimestampEnd = src.TimestampEnd; - TestTime = src.TestTime; - Error = src.Error; + RegReaderType = src.RegReaderType; + PulsesMeter = src.PulsesMeter; + PulsesMaster = src.PulsesMaster; + PulsesPerLiter = src.PulsesPerLiter; + VolumeStart = src.VolumeStart; + VolumeEnd = src.VolumeEnd; + VolumeMeter = src.VolumeMeter; + VolumeRef = src.VolumeRef; + TimestampStart = src.TimestampStart; + TimestampEnd = src.TimestampEnd; + TestTime = src.TestTime; + Error = src.Error; ErrorIndicators = src.ErrorIndicators; - KorrErrQ = src.KorrErrQ; - TestDone = src.TestDone; - Passed = src.Passed; + InfoIndicators = src.InfoIndicators; + KorrErrQ = src.KorrErrQ; + TestDone = src.TestDone; + Passed = src.Passed; #if ORACLE_DB - LastError = src.LastError; + LastError = src.LastError; #endif } diff --git a/Results/Entities/TestData.cs b/Results/Entities/TestData.cs index 7c6955385..d86193e94 100644 --- a/Results/Entities/TestData.cs +++ b/Results/Entities/TestData.cs @@ -1,10 +1,11 @@ /// -/// Copyright (c) 2016-2020 Sensus Slovensko a.s. +/// Copyright (c) 2016-2021 Sensus Slovensko a.s. /// using System; using System.Collections.Generic; using System.Linq; using System.IO; +using Config.Entities; namespace Results.Entities { @@ -32,33 +33,59 @@ namespace Results.Entities public virtual bool Evaluate { get; set; } - public TestData() + /// + /// Default constructor, safe values + /// + public TestData() { Name = string.Empty; Method = string.Empty; } - public TestData(Config.Entities.Test test) + public TestData(Test test) : this() { - Name = test.Name; - Repeats = test.Repeats; - Qtg = (double)test.Qtg; - Qfrom = (double)test.Qfrom; - Qto = (double)test.Qto; - TargetVolume = (double)test.Volume; - TargetTime = (double)test.TestTime; - Method = test.Method; - ErrLimLo = (double)test.ErrLimLo; - ErrLimHi = (double)test.ErrLimHi; - ErrLimMargin = (double)test.Uncertainty; - DoControlWaterTemp = test.DoControlWaterTemp; - TempLimLo = test.TempLimLo; - TempLimHi = test.TempLimHi; - Publish = test.Publish; - Evaluate = test.DoEvaluate; + Name = test.Name; + Repeats = test.Repeats; + Qtg = (double)test.Qtg; + Qfrom = (double)test.Qfrom; + Qto = (double)test.Qto; + TargetVolume = (double)test.Volume; + TargetTime = (double)test.TestTime; + Method = test.Method; + ErrLimLo = (double)test.ErrLimLo; + ErrLimHi = (double)test.ErrLimHi; + ErrLimMargin = (double)test.Uncertainty; + DoControlWaterTemp = test.DoControlWaterTemp; + TempLimLo = test.TempLimLo; + TempLimHi = test.TempLimHi; + Publish = test.Publish; + Evaluate = test.DoEvaluate; } + /// + /// Copy constructor, copies all except of Id + /// + public TestData(TestData oriTestData) + { + Name = oriTestData.Name; + Repeats = oriTestData.Repeats; + Qtg = oriTestData.Qtg; + Qfrom = oriTestData.Qfrom; + Qto = oriTestData.Qto; + TargetVolume = oriTestData.TargetVolume; + TargetTime = oriTestData.TargetTime; + Method = oriTestData.Method; + ErrLimLo = oriTestData.ErrLimLo; + ErrLimHi = oriTestData.ErrLimHi; + ErrLimMargin = oriTestData.ErrLimMargin; + DoControlWaterTemp = oriTestData.DoControlWaterTemp; + TempLimLo = oriTestData.TempLimLo; + TempLimHi = oriTestData.TempLimHi; + Publish = oriTestData.Publish; + Evaluate = oriTestData.Evaluate; + } + /// /// Method to compare the content of two entities diff --git a/Results/Entities/TestRslt.cs b/Results/Entities/TestRslt.cs index 515c77eae..d0fd25a26 100644 --- a/Results/Entities/TestRslt.cs +++ b/Results/Entities/TestRslt.cs @@ -1,5 +1,5 @@ /// -/// Copyright (c) 2015-2020 Sensus Slovensko a.s. +/// Copyright (c) 2015-2021 Sensus Slovensko a.s. /// using System; using System.Collections.Generic; @@ -11,138 +11,139 @@ namespace Results.Entities public class TestRslt { /// Identity - public virtual int Id { get; protected set; } - public virtual Batch Batch { get; set; } - public virtual TestData TestData { get; set; } - public virtual Components Components { get; set; } - public virtual int Part { get; set; } - public virtual int RepetitionNr { get; set; } /// Repetition number from the set of repeated tests (1...) - public virtual string MethodClass { get; set; } /// Not mapped to DB, does not depend on localization and customer + public virtual int Id { get; protected set; } + public virtual Batch Batch { get; set; } + public virtual TestData TestData { get; set; } + public virtual Components Components { get; set; } + + public virtual int Part { get; set; } + public virtual int RepetitionNr { get; set; } /// Repetition number from the set of repeated tests (1...) + public virtual string MethodClass { get; set; } /// Not mapped to DB, does not depend on localization and customer /// Main results - public virtual bool TestDone { get; set; } - public virtual string Remark { get; set; } - public virtual DateTime StartTime { get; set; } /// Date and time of the test start - public virtual DateTime EndTime { get; set; } /// Date and time of the test end - public virtual int FlowSetTime { get; set; } /// [s] Flow set time in seconds - public virtual int TimeBtwnMassMsrmnts { get; set; } /// [s] Time between two mass measurements in seconds (if applicable) - public virtual double TestTime { get; set; } /// [s] Test time in seconds - public virtual double TestTimeCorrection { get; set; } /// [s] Correction of the test time due to diverter (0 for methods w/o diverter or when there is no correction table) - public virtual double PulsesMaster { get; set; } /// [pls] FlyingStartMassCollectionProlonged: MID pulses of the water to the tank - public virtual double TotalPulsesMstr { get; set; } /// [pls] FlyingStartMassCollectionProlonged: MID pulses of the complete test (not mapped to DB) - public virtual double ConstMasterRaw { get; set; } /// [l/pls] Liters per pulse of the master flow meter uncorrected. - public virtual double ConstMasterCorr { get; set; } /// [l/pls] Liters per pulse of the master flow meter corrected by a correction table. - public virtual double ConstMaster { get; set; } /// [l/pls] Liters per pulse of the master flow meter calculated from a mass measurement. - /// When mass measurement is not available, corrected by a correction table. - public virtual double MassStartRaw { get; set; } /// [kg] - public virtual double MassStart { get; set; } /// [kg] - public virtual double MassEndRaw { get; set; } /// [kg] - public virtual double MassEnd { get; set; } /// [kg] - public virtual double DensityIn { get; set; } /// [kg/m3] - public virtual double DensityLine { get; set; } /// [kg/m3] - public virtual double DensityDiv { get; set; } /// [kg/m3] - public virtual double MassOfEvapWater { get; set; } - public virtual double FlowMass { get; set; } /// [kg/h] calculated from conventional true value - public virtual double FlowVolume { get; set; } /// [m3/h] - public virtual double VolumeCTV { get; set; } /// [l] Volume conventional true value - public virtual double VolumeMaster { get; set; } /// [l] Volume from the master flow meter - public virtual double ErrorMaster { get; set; } /// [%] Error of the master flow meter + public virtual bool TestDone { get; set; } + public virtual string Remark { get; set; } + public virtual DateTime StartTime { get; set; } /// Date and time of the test start + public virtual DateTime EndTime { get; set; } /// Date and time of the test end + public virtual int FlowSetTime { get; set; } /// [s] Flow set time in seconds + public virtual int TimeBtwnMassMsrmnts { get; set; } /// [s] Time between two mass measurements in seconds (if applicable) + public virtual double TestTime { get; set; } /// [s] Test time in seconds + public virtual double TestTimeCorrection { get; set; } /// [s] Correction of the test time due to diverter (0 for methods w/o diverter or when there is no correction table) + public virtual double PulsesMaster { get; set; } /// [pls] FlyingStartMassCollectionProlonged: MID pulses of the water to the tank + public virtual double TotalPulsesMstr { get; set; } /// [pls] FlyingStartMassCollectionProlonged: MID pulses of the complete test (not mapped to DB) + public virtual double ConstMasterRaw { get; set; } /// [l/pls] Liters per pulse of the master flow meter uncorrected. + public virtual double ConstMasterCorr { get; set; } /// [l/pls] Liters per pulse of the master flow meter corrected by a correction table. + public virtual double ConstMaster { get; set; } /// [l/pls] Liters per pulse of the master flow meter calculated from a mass measurement. + /// When mass measurement is not available, corrected by a correction table. + public virtual double MassStartRaw { get; set; } /// [kg] + public virtual double MassStart { get; set; } /// [kg] + public virtual double MassEndRaw { get; set; } /// [kg] + public virtual double MassEnd { get; set; } /// [kg] + public virtual double DensityIn { get; set; } /// [kg/m3] + public virtual double DensityLine { get; set; } /// [kg/m3] + public virtual double DensityDiv { get; set; } /// [kg/m3] + public virtual double MassOfEvapWater { get; set; } /// [kg] + public virtual double FlowMass { get; set; } /// [kg/h] calculated from conventional true value + public virtual double FlowVolume { get; set; } /// [m3/h] + public virtual double VolumeCTV { get; set; } /// [l] Volume conventional true value + public virtual double VolumeMaster { get; set; } /// [l] Volume from the master flow meter + public virtual double ErrorMaster { get; set; } /// [%] Error of the master flow meter - public virtual float DiverterStart { get; set; } /// [s] Diverter switch time when test starts - public virtual float DivStart10 { get; set; } /// [s] Diverter switch time when test starts at level 10 (e.g. 10%) (not mapped to DB) - public virtual float DivStart50 { get; set; } /// [s] Diverter switch time when test starts at level 50 (e.g. 50%) (not mapped to DB) - public virtual float DivStart90 { get; set; } /// [s] Diverter switch time when test starts at level 90 (e.g. 90%) (not mapped to DB) + public virtual float DiverterStart { get; set; } /// [s] Diverter switch time when test starts + public virtual float DivStart10 { get; set; } /// [s] Diverter switch time when test starts at level 10 (e.g. 10%) (not mapped to DB) + public virtual float DivStart50 { get; set; } /// [s] Diverter switch time when test starts at level 50 (e.g. 50%) (not mapped to DB) + public virtual float DivStart90 { get; set; } /// [s] Diverter switch time when test starts at level 90 (e.g. 90%) (not mapped to DB) - public virtual float DiverterEnd { get; set; } /// [s] Diverter switch time when test ends - public virtual float DivEnd90 { get; set; } /// [s] Diverter switch time when test starts at level 90 (e.g. 90%) (not mapped to DB) - public virtual float DivEnd50 { get; set; } /// [s] Diverter switch time when test starts at level 50 (e.g. 50%) (not mapped to DB) - public virtual float DivEnd10 { get; set; } /// [s] Diverter switch time when test starts at level 10 (e.g. 10%) (not mapped to DB) + public virtual float DiverterEnd { get; set; } /// [s] Diverter switch time when test ends + public virtual float DivEnd90 { get; set; } /// [s] Diverter switch time when test starts at level 90 (e.g. 90%) (not mapped to DB) + public virtual float DivEnd50 { get; set; } /// [s] Diverter switch time when test starts at level 50 (e.g. 50%) (not mapped to DB) + public virtual float DivEnd10 { get; set; } /// [s] Diverter switch time when test starts at level 10 (e.g. 10%) (not mapped to DB) - public virtual long ErrorFlags { get; set; } /// bitfield : bit0=E1, bit1=E2, bit2=E3, etc. - public virtual long InfoFlags { get; set; } /// bitfield : bit0=E1, bit1=E2, bit2=E3, etc. + public virtual long ErrorFlags { get; set; } /// bitfield : bit0=E1, bit1=E2, bit2=E3, etc. + public virtual long InfoFlags { get; set; } /// bitfield : bit0=E1, bit1=E2, bit2=E3, etc. /// Main results of heat meters - public virtual double RefEnergy { get; set; } /// [J] Joul + public virtual double RefEnergy { get; set; } /// [J] Joul /// Auxiliary results - public virtual float AmbTempMean { get; set; } /// [°C] Average ambient air temperature - public virtual float AmbTempStart { get; set; } /// [°C] Ambient air temperature on test start - public virtual float AmbTempEnd { get; set; } /// [°C] Ambient air temperature on test end - public virtual float AmbTempMin { get; set; } /// [°C] Minimum ambient air temperature - public virtual float AmbTempMax { get; set; } /// [°C] Maximum ambient air temperature - public virtual float AmbPressMean { get; set; } /// [bar] Average ambient air pressure - public virtual float AmbPressStart { get; set; } /// [bar] Ambient air pressure on test start - public virtual float AmbPressEnd { get; set; } /// [bar] Ambient air pressure on test end - public virtual float AmbPressMin { get; set; } /// [bar] Minimum ambient air pressure - public virtual float AmbPressMax { get; set; } /// [bar] Maximum ambient air pressure - public virtual float AmbHumiMean { get; set; } /// [%] Average ambient air relative humidity - public virtual float AmbHumiStart { get; set; } /// [%] Ambient air relative humidity on test start - public virtual float AmbHumiEnd { get; set; } /// [%] Ambient air relative humidity on test end - public virtual float AmbHumiMin { get; set; } /// [%] Minimum ambient air relative humidity - public virtual float AmbHumiMax { get; set; } /// [%] Maximum ambient air relative humidity - public virtual float PressUpMean { get; set; } /// [bar] Input water pressure (average) - public virtual float PressUpStart { get; set; } /// [bar] - public virtual float PressUpEnd { get; set; } /// [bar] - public virtual float PressUpMin { get; set; } /// [bar] - public virtual float PressUpMax { get; set; } /// [bar] - public virtual float PressDownMean { get; set; } /// [bar] - public virtual float PressDownStart { get; set; } /// [bar] - public virtual float PressDownEnd { get; set; } /// [bar] - public virtual float PressDownMin { get; set; } /// [bar] - public virtual float PressDownMax { get; set; } /// [bar] - public virtual float PressDeltaMean { get; set; } /// [bar] - public virtual float PressDeltaStart { get; set; } /// [bar] - public virtual float PressDeltaEnd { get; set; } /// [bar] - public virtual float PressDeltaMin { get; set; } /// [bar] - public virtual float PressDeltaMax { get; set; } /// [bar] - public virtual float TempUpMean { get; set; } /// [°C] - public virtual float TempUpStart { get; set; } /// [°C] - public virtual float TempUpEnd { get; set; } /// [°C] - public virtual float TempUpMin { get; set; } /// [°C] - public virtual float TempUpMax { get; set; } /// [°C] - public virtual float TempDownMean { get; set; } /// [°C] - public virtual float TempDownStart { get; set; } /// [°C] - public virtual float TempDownEnd { get; set; } /// [°C] - public virtual float TempDownMin { get; set; } /// [°C] - public virtual float TempDownMax { get; set; } /// [°C] - public virtual float TempDivMean { get; set; } /// [°C] - public virtual float TempDivStart { get; set; } /// [°C] - public virtual float TempDivEnd { get; set; } /// [°C] - public virtual float TempDivMin { get; set; } /// [°C] - public virtual float TempDivMax { get; set; } /// [°C] - public virtual float FlowMean { get; set; } /// [m3/h] mean flow from the reference flowmeter - public virtual float FlowStart { get; set; } /// [m3/h] flow at the start of test from the reference flowmeter - public virtual float FlowEnd { get; set; } /// [m3/h] flow at the end of test from the reference flowmeter - public virtual float FlowMin { get; set; } /// [m3/h] - public virtual float FlowMax { get; set; } /// [m3/h] - public virtual float ConductMean { get; set; } /// [uS/cm] - public virtual float ConductStart { get; set; } /// [uS/cm] - public virtual float ConductEnd { get; set; } /// [uS/cm] - public virtual float ConductMin { get; set; } /// [uS/cm] - public virtual float ConductMax { get; set; } /// [uS/cm] + public virtual float AmbTempMean { get; set; } /// [°C] Average ambient air temperature + public virtual float AmbTempStart { get; set; } /// [°C] Ambient air temperature on test start + public virtual float AmbTempEnd { get; set; } /// [°C] Ambient air temperature on test end + public virtual float AmbTempMin { get; set; } /// [°C] Minimum ambient air temperature + public virtual float AmbTempMax { get; set; } /// [°C] Maximum ambient air temperature + public virtual float AmbPressMean { get; set; } /// [bar] Average ambient air pressure + public virtual float AmbPressStart { get; set; } /// [bar] Ambient air pressure on test start + public virtual float AmbPressEnd { get; set; } /// [bar] Ambient air pressure on test end + public virtual float AmbPressMin { get; set; } /// [bar] Minimum ambient air pressure + public virtual float AmbPressMax { get; set; } /// [bar] Maximum ambient air pressure + public virtual float AmbHumiMean { get; set; } /// [%] Average ambient air relative humidity + public virtual float AmbHumiStart { get; set; } /// [%] Ambient air relative humidity on test start + public virtual float AmbHumiEnd { get; set; } /// [%] Ambient air relative humidity on test end + public virtual float AmbHumiMin { get; set; } /// [%] Minimum ambient air relative humidity + public virtual float AmbHumiMax { get; set; } /// [%] Maximum ambient air relative humidity + public virtual float PressUpMean { get; set; } /// [bar] Input water pressure (average) + public virtual float PressUpStart { get; set; } /// [bar] + public virtual float PressUpEnd { get; set; } /// [bar] + public virtual float PressUpMin { get; set; } /// [bar] + public virtual float PressUpMax { get; set; } /// [bar] + public virtual float PressDownMean { get; set; } /// [bar] + public virtual float PressDownStart { get; set; } /// [bar] + public virtual float PressDownEnd { get; set; } /// [bar] + public virtual float PressDownMin { get; set; } /// [bar] + public virtual float PressDownMax { get; set; } /// [bar] + public virtual float PressDeltaMean { get; set; } /// [bar] + public virtual float PressDeltaStart { get; set; } /// [bar] + public virtual float PressDeltaEnd { get; set; } /// [bar] + public virtual float PressDeltaMin { get; set; } /// [bar] + public virtual float PressDeltaMax { get; set; } /// [bar] + public virtual float TempUpMean { get; set; } /// [°C] + public virtual float TempUpStart { get; set; } /// [°C] + public virtual float TempUpEnd { get; set; } /// [°C] + public virtual float TempUpMin { get; set; } /// [°C] + public virtual float TempUpMax { get; set; } /// [°C] + public virtual float TempDownMean { get; set; } /// [°C] + public virtual float TempDownStart { get; set; } /// [°C] + public virtual float TempDownEnd { get; set; } /// [°C] + public virtual float TempDownMin { get; set; } /// [°C] + public virtual float TempDownMax { get; set; } /// [°C] + public virtual float TempDivMean { get; set; } /// [°C] + public virtual float TempDivStart { get; set; } /// [°C] + public virtual float TempDivEnd { get; set; } /// [°C] + public virtual float TempDivMin { get; set; } /// [°C] + public virtual float TempDivMax { get; set; } /// [°C] + public virtual float FlowMean { get; set; } /// [m3/h] mean flow from the reference flowmeter + public virtual float FlowStart { get; set; } /// [m3/h] flow at the start of test from the reference flowmeter + public virtual float FlowEnd { get; set; } /// [m3/h] flow at the end of test from the reference flowmeter + public virtual float FlowMin { get; set; } /// [m3/h] + public virtual float FlowMax { get; set; } /// [m3/h] + public virtual float ConductMean { get; set; } /// [uS/cm] + public virtual float ConductStart { get; set; } /// [uS/cm] + public virtual float ConductEnd { get; set; } /// [uS/cm] + public virtual float ConductMin { get; set; } /// [uS/cm] + public virtual float ConductMax { get; set; } /// [uS/cm] - public virtual float Uncertnt { get; set; } /// [%] Relative error uncertainty - public virtual float UncertntScale { get; set; } /// [%] Contribution to uncertainty from scale - public virtual float UncertntDensity { get; set; } /// [%] Contribution to uncertainty from density - public virtual float UncertntTemp { get; set; } /// [%] Contribution to uncertainty from temperature - public virtual float UncertntPressure { get; set; } /// [%] Contribution to uncertainty from pressure + public virtual float Uncertnt { get; set; } /// [%] Relative error uncertainty + public virtual float UncertntScale { get; set; } /// [%] Contribution to uncertainty from scale + public virtual float UncertntDensity { get; set; } /// [%] Contribution to uncertainty from density + public virtual float UncertntTemp { get; set; } /// [%] Contribution to uncertainty from temperature + public virtual float UncertntPressure { get; set; } /// [%] Contribution to uncertainty from pressure - public virtual float Custom1 { get; set; } /// [°C] T ref hi mean - public virtual float Custom2 { get; set; } /// [°C] T ref hi start - public virtual float Custom3 { get; set; } /// [°C] T ref hi end - public virtual float Custom4 { get; set; } /// [°C] T ref hi min - public virtual float Custom5 { get; set; } /// [°C] T ref hi max - public virtual float Custom6 { get; set; } /// [°C] T ref lo mean - public virtual float Custom7 { get; set; } /// [°C] T ref lo start - public virtual float Custom8 { get; set; } /// [°C] T ref lo end - public virtual float Custom9 { get; set; } /// [°C] T ref lo min - public virtual float Custom10 { get; set; } /// [°C] T ref lo max + public virtual float Custom1 { get; set; } /// [°C] T ref hi mean + public virtual float Custom2 { get; set; } /// [°C] T ref hi start + public virtual float Custom3 { get; set; } /// [°C] T ref hi end + public virtual float Custom4 { get; set; } /// [°C] T ref hi min + public virtual float Custom5 { get; set; } /// [°C] T ref hi max + public virtual float Custom6 { get; set; } /// [°C] T ref lo mean + public virtual float Custom7 { get; set; } /// [°C] T ref lo start + public virtual float Custom8 { get; set; } /// [°C] T ref lo end + public virtual float Custom9 { get; set; } /// [°C] T ref lo min + public virtual float Custom10 { get; set; } /// [°C] T ref lo max - public virtual int Counter1 { get; set; } - public virtual int Counter2 { get; set; } - public virtual int Counter3 { get; set; } - public virtual int Counter4 { get; set; } - public virtual int Counter5 { get; set; } + public virtual int Counter1 { get; set; } + public virtual int Counter2 { get; set; } + public virtual int Counter3 { get; set; } + public virtual int Counter4 { get; set; } + public virtual int Counter5 { get; set; } /// Wrappers public virtual string Name() { return Utils.GetTestName(TestData.Name, TestData.Repeats, RepetitionNr); } @@ -246,46 +247,51 @@ namespace Results.Entities { if (src == null) return; - Components = src.Components; /// ??? - Part = src.Part; - RepetitionNr = src.RepetitionNr; - MethodClass = src.MethodClass; - TestDone = src.TestDone; - Remark = src.Remark; - StartTime = src.StartTime; - EndTime = src.EndTime; - FlowSetTime = src.FlowSetTime; + Components = src.Components; /// ??? + + Part = src.Part; + RepetitionNr = src.RepetitionNr; + MethodClass = src.MethodClass; + TestDone = src.TestDone; + Remark = src.Remark; + StartTime = src.StartTime; + EndTime = src.EndTime; + FlowSetTime = src.FlowSetTime; TimeBtwnMassMsrmnts = src.TimeBtwnMassMsrmnts; - TestTime = src.TestTime; - PulsesMaster = src.PulsesMaster; - TotalPulsesMstr = src.TotalPulsesMstr; - ConstMasterRaw = src.ConstMasterRaw; - ConstMasterCorr = src.ConstMasterCorr; - ConstMaster = src.ConstMaster; - MassStartRaw = src.MassStartRaw; - MassStart = src.MassStart; - MassEndRaw = src.MassEndRaw; - MassEnd = src.MassEnd; - DensityIn = src.DensityIn; - DensityLine = src.DensityLine; - DensityDiv = src.DensityDiv; - MassOfEvapWater = src.MassOfEvapWater; - FlowMass = src.FlowMass; - FlowVolume = src.FlowVolume; - VolumeCTV = src.VolumeCTV; - VolumeMaster = src.VolumeMaster; - ErrorMaster = src.ErrorMaster; + TestTime = src.TestTime; + TestTimeCorrection = src.TestTimeCorrection; + PulsesMaster = src.PulsesMaster; + TotalPulsesMstr = src.TotalPulsesMstr; + ConstMasterRaw = src.ConstMasterRaw; + ConstMasterCorr = src.ConstMasterCorr; + ConstMaster = src.ConstMaster; + MassStartRaw = src.MassStartRaw; + MassStart = src.MassStart; + MassEndRaw = src.MassEndRaw; + MassEnd = src.MassEnd; + DensityIn = src.DensityIn; + DensityLine = src.DensityLine; + DensityDiv = src.DensityDiv; + MassOfEvapWater = src.MassOfEvapWater; + FlowMass = src.FlowMass; + FlowVolume = src.FlowVolume; + VolumeCTV = src.VolumeCTV; + VolumeMaster = src.VolumeMaster; + ErrorMaster = src.ErrorMaster; + DiverterStart = src.DiverterStart; - DivStart10 = src.DivStart10; - DivStart50 = src.DivStart50; - DivStart90 = src.DivStart90; - DiverterEnd = src.DiverterEnd; - DivEnd10 = src.DivEnd10; - DivEnd50 = src.DivEnd50; - DivEnd90 = src.DivEnd90; + DivStart10 = src.DivStart10; + DivStart50 = src.DivStart50; + DivStart90 = src.DivStart90; + DiverterEnd = src.DiverterEnd; + DivEnd10 = src.DivEnd10; + DivEnd50 = src.DivEnd50; + DivEnd90 = src.DivEnd90; + ErrorFlags = src.ErrorFlags; InfoFlags = src.InfoFlags; RefEnergy = src.RefEnergy; + AmbTempMean = src.AmbTempMean; AmbTempStart = src.AmbTempStart; AmbTempEnd = src.AmbTempEnd; @@ -342,15 +348,21 @@ namespace Results.Entities ConductMin = src.ConductMin; ConductMax = src.ConductMax; - Custom1 = src.Custom1; - Custom2 = src.Custom2; - Custom3 = src.Custom3; - Custom4 = src.Custom4; - Custom5 = src.Custom5; - Custom6 = src.Custom6; - Custom7 = src.Custom7; - Custom8 = src.Custom8; - Custom9 = src.Custom9; + Uncertnt = src.Uncertnt; + UncertntScale = src.UncertntScale; + UncertntDensity = src.UncertntDensity; + UncertntTemp = src.UncertntTemp; + UncertntPressure = src.UncertntPressure; + + Custom1 = src.Custom1; + Custom2 = src.Custom2; + Custom3 = src.Custom3; + Custom4 = src.Custom4; + Custom5 = src.Custom5; + Custom6 = src.Custom6; + Custom7 = src.Custom7; + Custom8 = src.Custom8; + Custom9 = src.Custom9; Custom10 = src.Custom10; Counter1 = src.Counter1; @@ -396,7 +408,7 @@ namespace Results.Entities public virtual string ToString(int i) { - return string.Format("TestRslt: Part={0} RepetitionNr={1} TestDone={2} Remark={3} StartTime={4} EndTime={5} FlowSetTime={6} TestTime={7} PulsesMaster={8} ConstMaster={9} MassStartRaw={10} MassStart={11} MassEndRaw={12} MassEnd={13} DensityIn={14} DensityOut={15} DensityDiv={16} Buoyancy={17} FlowMass={18} FlowVolume={19} VolumeCTV={20} VolumeMaster={21} ErrorMaster={22} DiverterStart={85} DiverterEnd={86} ErrorFlags={23} InfoFlags={24} AmbTempMean={25} AmbTempStart={26} AmbTempEnd={27} AmbTempMin={28} AmbTempMax={29} AmbPressMean={30} AmbPressStart={31} AmbPressEnd={32} AmbPressMin={33} AmbPressMax={34} AmbHumiMean={35} AmbHumiStart={36} AmbHumiEnd={37} AmbHumiMin={38} AmbHumiMax={39} PressUpMean={40} PressUpStart={41} PressUpEnd={42} PressUpMin={43} PressUpMax={44} PressDownMean={45} PressDownStart={46} PressDownEnd={47} PressDownMin={48} PressDownMax={49} PressDeltaMean={50} PressDeltaStart={51} PressDeltaEnd={52} PressDeltaMin={53} PressDeltaMax={54} TempUpMean={55} TempUpStart={56} TempUpEnd={57} TempUpMin={58} TempUpMax={59} TempDownMean={60} TempDownStart={61} TempDownEnd={62} TempDownMin={63} TempDownMax={64} TempDivMean={65} TempDivStart={66} TempDivEnd={67} TempDivMin={68} TempDivMax={69} FlowMean={70} FlowStart={71} FlowEnd={72} FlowMin={73} FlowMax={74} Custom1={75} Custom2={76} Custom3={77} Custom4={78} Custom5={79} Custom6={80} Custom7={81} Custom8={82} Custom9={83} Custom10={84}", + return string.Format("TestRslt: Part={0} RepetitionNr={1} TestDone={2} Remark={3} StartTime={4} EndTime={5} FlowSetTime={6} TestTime={7} PulsesMaster={8} ConstMaster={9} MassStartRaw={10} MassStart={11} MassEndRaw={12} MassEnd={13} DensityIn={14} DensityOut={15} DensityDiv={16} MassOfEvapWaater={17} FlowMass={18} FlowVolume={19} VolumeCTV={20} VolumeMaster={21} ErrorMaster={22} DiverterStart={85} DiverterEnd={86} ErrorFlags={23} InfoFlags={24} AmbTempMean={25} AmbTempStart={26} AmbTempEnd={27} AmbTempMin={28} AmbTempMax={29} AmbPressMean={30} AmbPressStart={31} AmbPressEnd={32} AmbPressMin={33} AmbPressMax={34} AmbHumiMean={35} AmbHumiStart={36} AmbHumiEnd={37} AmbHumiMin={38} AmbHumiMax={39} PressUpMean={40} PressUpStart={41} PressUpEnd={42} PressUpMin={43} PressUpMax={44} PressDownMean={45} PressDownStart={46} PressDownEnd={47} PressDownMin={48} PressDownMax={49} PressDeltaMean={50} PressDeltaStart={51} PressDeltaEnd={52} PressDeltaMin={53} PressDeltaMax={54} TempUpMean={55} TempUpStart={56} TempUpEnd={57} TempUpMin={58} TempUpMax={59} TempDownMean={60} TempDownStart={61} TempDownEnd={62} TempDownMin={63} TempDownMax={64} TempDivMean={65} TempDivStart={66} TempDivEnd={67} TempDivMin={68} TempDivMax={69} FlowMean={70} FlowStart={71} FlowEnd={72} FlowMin={73} FlowMax={74} Custom1={75} Custom2={76} Custom3={77} Custom4={78} Custom5={79} Custom6={80} Custom7={81} Custom8={82} Custom9={83} Custom10={84}", Part, RepetitionNr, TestDone, Remark, StartTime, EndTime, FlowSetTime, TestTime, PulsesMaster, ConstMaster, MassStartRaw, MassStart, MassEndRaw, MassEnd, DensityIn, DensityLine, DensityDiv, MassOfEvapWater, FlowMass, FlowVolume, diff --git a/Results/Entities/WaterMeter.cs b/Results/Entities/WaterMeter.cs index d154b91c1..90873c7a3 100644 --- a/Results/Entities/WaterMeter.cs +++ b/Results/Entities/WaterMeter.cs @@ -1,5 +1,5 @@ /// -/// Copyright (c) 2015-2020 Sensus Slovensko a.s. +/// Copyright (c) 2015-2021 Sensus Slovensko a.s. /// using System; using System.Collections.Generic; @@ -459,33 +459,34 @@ namespace Results.Entities { if (src == null) return; - SerialNr = src.SerialNr; - SerialNrAux = src.SerialNrAux; - PurchaseOrder = src.PurchaseOrder; - YearOfProduction = src.YearOfProduction; - // WMPosition skipped - EndState = src.EndState; - EndStateAux = src.EndStateAux; - QRise = src.QRise; - QFall = src.QFall; - ErrorFlags = src.ErrorFlags; - Passed = src.Passed; - ResultCode = src.ResultCode; - ArchivePath = src.ArchivePath; - Remark = src.Remark; + SerialNr = src.SerialNr; + SerialNrAux = src.SerialNrAux; + PurchaseOrder = src.PurchaseOrder; + YearOfProduction = src.YearOfProduction; + WMPosition = src.WMPosition; + EndState = src.EndState; + EndStateAux = src.EndStateAux; + QRise = src.QRise; + QFall = src.QFall; + ErrorFlags = src.ErrorFlags; + InfoFlags = src.InfoFlags; + Passed = src.Passed; + ResultCode = src.ResultCode; + ArchivePath = src.ArchivePath; + Remark = src.Remark; #if IPERL - OrigCalibFactor = src.OrigCalibFactor; - CalibFactor = src.CalibFactor; + OrigCalibFactor = src.OrigCalibFactor; + CalibFactor = src.CalibFactor; OrigCalibFactorLNA = src.OrigCalibFactorLNA; - CalibFactorLNA = src.CalibFactorLNA; - Q2ErrWOCorrection = src.Q2ErrWOCorrection; - Q2CorrRL = src.Q2CorrRL; - Q2CorrLR = src.Q2CorrLR; - Q2CorrFlowRight = src.Q2CorrFlowRight; - Diff2Hz8Hz = src.Diff2Hz8Hz; - Hz2CorrectionDone = src.Hz2CorrectionDone; - Hz2Correction = src.Hz2Correction; - FWVersion = src.FWVersion; + CalibFactorLNA = src.CalibFactorLNA; + Q2ErrWOCorrection = src.Q2ErrWOCorrection; + Q2CorrRL = src.Q2CorrRL; + Q2CorrLR = src.Q2CorrLR; + Q2CorrFlowRight = src.Q2CorrFlowRight; + Diff2Hz8Hz = src.Diff2Hz8Hz; + Hz2CorrectionDone = src.Hz2CorrectionDone; + Hz2Correction = src.Hz2Correction; + FWVersion = src.FWVersion; #endif #if TURA_SPECIAL RadioAddress = src.RadioAddress; @@ -501,19 +502,19 @@ namespace Results.Entities ProdQ2CorrLR = src.ProdQ2CorrLR; #endif #if ORACLE_DB - AssignedSerialNr = src.AssignedSerialNr; - Prefix = src.Prefix; - Suffix = src.Suffix; - CompleteSerialNr = src.CompleteSerialNr; - WMTypeRevision = src.WMTypeRevision; - Pruefindex = src.Pruefindex; - HydrPruefung = src.HydrPruefung; - RawTestInfos = src.RawTestInfos; - CompleteTestInfos = src.CompleteTestInfos; + AssignedSerialNr = src.AssignedSerialNr; + Prefix = src.Prefix; + Suffix = src.Suffix; + CompleteSerialNr = src.CompleteSerialNr; + WMTypeRevision = src.WMTypeRevision; + Pruefindex = src.Pruefindex; + HydrPruefung = src.HydrPruefung; + RawTestInfos = src.RawTestInfos; /// Not mapped to DB + CompleteTestInfos = src.CompleteTestInfos; /// Not mapped to DB #endif - ProcessId = src.ProcessId; - SessionId = src.SessionId; - LastRecordIsNok = src.LastRecordIsNok; + ProcessId = src.ProcessId; /// Not mapped to DB + SessionId = src.SessionId; /// Not mapped to DB + LastRecordIsNok = src.LastRecordIsNok; /// Not mapped to DB foreach (var mtr in MeterTestRslts) { diff --git a/Results/Entities/WaterMeterData.cs b/Results/Entities/WaterMeterData.cs index 783da73f0..477db64f5 100644 --- a/Results/Entities/WaterMeterData.cs +++ b/Results/Entities/WaterMeterData.cs @@ -1,65 +1,101 @@ /// -/// Copyright (c) 2015-2020 Sensus Slovensko a.s. +/// Copyright (c) 2015-2021 Sensus Slovensko a.s. /// using System; using System.Collections.Generic; using System.Linq; using System.IO; +using Config.Entities; namespace Results.Entities { public class WaterMeterData { - public virtual int Id { get; protected set; } - public virtual string ProductName { get; set; } - public virtual string Producer { get; set; } - - public virtual double DN { get; set; } /// [mm] - public virtual double L { get; set; } /// [mm] - public virtual Config.Entities.Mounting Mounting { get; set; } /// H / V / S / F - - public virtual bool NewQnames { get; set; } /// Yes = Q3... No = Qn... - public virtual double Q4_Qmax { get; set; } /// [m3/h] - public virtual double Q3_Qn { get; set; } /// [m3/h] - public virtual double Q2_Qt { get; set; } /// [m3/h] - public virtual double Q1_Qmin { get; set; } /// [m3/h] - - public virtual string MetrologicalClass { get; set; } - public virtual Config.Entities.TemperatureClass TemperatureClass { get; set; } - public virtual Config.Entities.PressureLossClass PressureLossClass { get; set; } - public virtual Config.Entities.MaxAdmissiblePressure MaxAdmissiblePressure { get; set; } - public virtual Config.Entities.FlowProfileSensitivityClass FlowProfileSensitivityClass { get; set; } - - public virtual string ApprovalInfo { get; set; } - public virtual string Certificate { get; set; } - - public virtual double PulsesPerLtr { get; set; } + public virtual int Id { get; protected set; } + public virtual string ProductName { get; set; } + public virtual string Producer { get; set; } + public virtual double DN { get; set; } /// [mm] + public virtual double L { get; set; } /// [mm] + public virtual Mounting Mounting { get; set; } /// H / V / S / F + public virtual bool NewQnames { get; set; } /// Yes = Q3... No = Qn... + public virtual double Q4_Qmax { get; set; } /// [m3/h] + public virtual double Q3_Qn { get; set; } /// [m3/h] + public virtual double Q2_Qt { get; set; } /// [m3/h] + public virtual double Q1_Qmin { get; set; } /// [m3/h] + public virtual string MetrologicalClass { get; set; } + public virtual TemperatureClass TemperatureClass { get; set; } + public virtual PressureLossClass PressureLossClass { get; set; } + public virtual MaxAdmissiblePressure MaxAdmissiblePressure { get; set; } + public virtual FlowProfileSensitivityClass FlowProfileSensitivityClass { get; set; } + public virtual string ApprovalInfo { get; set; } + public virtual string Certificate { get; set; } + public virtual double PulsesPerLtr { get; set; } /// Concerns compound water meters - public virtual string ProducerAux { get; set; } - public virtual double Q3_Qn_Aux { get; set; } /// [m3/h] - public virtual string MetrologicalClassAux { get; set; } - public virtual string ApprovalInfoAux { get; set; } - - public virtual Config.Entities.Medium Medium { get; set; } - - public virtual string Text1 { get; set; } - public virtual string Text2 { get; set; } - public virtual string Text3 { get; set; } - public virtual string Text4 { get; set; } - public virtual string Text5 { get; set; } - - public virtual bool Compound { get; set; } - public virtual bool HeatMeter { get; set; } + public virtual string ProducerAux { get; set; } + public virtual double Q3_Qn_Aux { get; set; } /// [m3/h] + public virtual string MetrologicalClassAux { get; set; } + public virtual string ApprovalInfoAux { get; set; } + public virtual Medium Medium { get; set; } + public virtual string Text1 { get; set; } + public virtual string Text2 { get; set; } + public virtual string Text3 { get; set; } + public virtual string Text4 { get; set; } + public virtual string Text5 { get; set; } + public virtual bool Compound { get; set; } + public virtual bool HeatMeter { get; set; } #if ORACLE_DB - public virtual int WMTypeId { get; set; } + public virtual int WMTypeId { get; set; } #endif + /// + /// Default constructor, safe values + /// public WaterMeterData() { } + /// + /// Copy constructor, copies all except of Id + /// + public WaterMeterData(WaterMeterData oriWMData) + { + ProductName = oriWMData.ProductName; + Producer = oriWMData.Producer; + DN = oriWMData.DN; + L = oriWMData.L; + Mounting = oriWMData.Mounting; + NewQnames = oriWMData.NewQnames; + Q4_Qmax = oriWMData.Q4_Qmax; + Q3_Qn = oriWMData.Q3_Qn; + Q2_Qt = oriWMData.Q2_Qt; + Q1_Qmin = oriWMData.Q1_Qmin; + MetrologicalClass = oriWMData.MetrologicalClass; + TemperatureClass = oriWMData.TemperatureClass; + PressureLossClass = oriWMData.PressureLossClass; + MaxAdmissiblePressure = oriWMData.MaxAdmissiblePressure; + FlowProfileSensitivityClass = oriWMData.FlowProfileSensitivityClass; + ApprovalInfo = oriWMData.ApprovalInfo; + Certificate = oriWMData.Certificate; + PulsesPerLtr = oriWMData.PulsesPerLtr; + ProducerAux = oriWMData.ProducerAux; + Q3_Qn_Aux = oriWMData.Q3_Qn_Aux; + MetrologicalClassAux = oriWMData.MetrologicalClassAux; + ApprovalInfoAux = oriWMData.ApprovalInfoAux; + Medium = oriWMData.Medium; + Text1 = oriWMData.Text1; + Text2 = oriWMData.Text2; + Text3 = oriWMData.Text3; + Text4 = oriWMData.Text4; + Text5 = oriWMData.Text5; + Compound = oriWMData.Compound; + HeatMeter = oriWMData.HeatMeter; +#if ORACLE_DB + WMTypeId = oriWMData.WMTypeId; +#endif + } + /// /// Method to compare the content of two entities @@ -70,44 +106,34 @@ namespace Results.Entities { if (ProductName != wmd.ProductName) return false; if (Producer != wmd.Producer) return false; - if (DN != wmd.DN) return false; if (L != wmd.L) return false; if (Mounting != wmd.Mounting) return false; - if (NewQnames != wmd.NewQnames) return false; if (Q4_Qmax != wmd.Q4_Qmax) return false; if (Q3_Qn != wmd.Q3_Qn) return false; if (Q2_Qt != wmd.Q2_Qt) return false; if (Q1_Qmin != wmd.Q1_Qmin) return false; - if (MetrologicalClass != wmd.MetrologicalClass) return false; if (TemperatureClass != wmd.TemperatureClass) return false; if (PressureLossClass != wmd.PressureLossClass) return false; if (MaxAdmissiblePressure != wmd.MaxAdmissiblePressure) return false; if (FlowProfileSensitivityClass != wmd.FlowProfileSensitivityClass) return false; - if (ApprovalInfo != wmd.ApprovalInfo) return false; if (Certificate != wmd.Certificate) return false; - if (PulsesPerLtr != wmd.PulsesPerLtr) return false; - if (ProducerAux != wmd.ProducerAux) return false; if (Q3_Qn_Aux != wmd.Q3_Qn_Aux) return false; if (MetrologicalClassAux != wmd.MetrologicalClassAux) return false; if (ApprovalInfoAux != wmd.ApprovalInfoAux) return false; - if (Medium != wmd.Medium) return false; - if (Text1 != wmd.Text1) return false; if (Text2 != wmd.Text2) return false; if (Text3 != wmd.Text3) return false; if (Text4 != wmd.Text4) return false; if (Text5 != wmd.Text5) return false; - if (Compound != wmd.Compound) return false; if (HeatMeter != wmd.HeatMeter) return false; - #if ORACLE_DB if (WMTypeId != wmd.WMTypeId) return false; #endif @@ -178,17 +204,17 @@ namespace Results.Entities Producer = reader.ReadString(); DN = reader.ReadDouble(); L = reader.ReadDouble(); - Mounting = (Config.Entities.Mounting)reader.ReadInt32(); + Mounting = (Mounting)reader.ReadInt32(); NewQnames = reader.ReadBoolean(); Q4_Qmax = reader.ReadDouble(); Q3_Qn = reader.ReadDouble(); Q2_Qt = reader.ReadDouble(); Q1_Qmin = reader.ReadDouble(); MetrologicalClass = reader.ReadString(); - TemperatureClass = (Config.Entities.TemperatureClass)reader.ReadInt32(); - PressureLossClass = (Config.Entities.PressureLossClass)reader.ReadInt32(); - MaxAdmissiblePressure = (Config.Entities.MaxAdmissiblePressure)reader.ReadInt32(); - FlowProfileSensitivityClass = (Config.Entities.FlowProfileSensitivityClass)reader.ReadInt32(); + TemperatureClass = (TemperatureClass)reader.ReadInt32(); + PressureLossClass = (PressureLossClass)reader.ReadInt32(); + MaxAdmissiblePressure = (MaxAdmissiblePressure)reader.ReadInt32(); + FlowProfileSensitivityClass = (FlowProfileSensitivityClass)reader.ReadInt32(); ApprovalInfo = reader.ReadString(); Certificate = reader.ReadString(); PulsesPerLtr = reader.ReadDouble(); @@ -196,7 +222,7 @@ namespace Results.Entities Q3_Qn_Aux = reader.ReadDouble(); MetrologicalClassAux = reader.ReadString(); ApprovalInfoAux = reader.ReadString(); - Medium = (Config.Entities.Medium)reader.ReadInt32(); + Medium = (Medium)reader.ReadInt32(); Text1 = reader.ReadString(); Text2 = reader.ReadString(); Text3 = reader.ReadString();