From cb4833664c8cecc88a71eeea5b133b175b046405 Mon Sep 17 00:00:00 2001 From: Milan Hanajik Date: Sat, 5 Sep 2015 12:18:09 +0200 Subject: [PATCH] Clone( ) function added to IParamsProvider and all procedure/test parameters classes. --- .../Cameras/CameraRoi/RoiProcedureParams.cs | 62 +++++++++++-------- .../RRProcedureParams.cs | 14 ++++- .../Elde/RegisterReader/RRProcedureParams.cs | 14 ++++- .../BenchControl/Generic/IParamsProvider.cs | 6 ++ .../ResultsPrinters/Munich/ProcParams.cs | 20 ++++-- .../CombinedMeters/CombinedTestParams.cs | 15 ++++- .../CombinedWithDetTestParams.cs | 25 +++++--- .../FlyingStartCollectionMethod/TestParams.cs | 18 +++++- .../TestMethods/LeakTest/LeakTestParams.cs | 20 ++++-- .../TestMethods/PMaxTest/PMaxTestParams.cs | 18 +++++- .../iPerlCommunicationParams.cs | 18 +++++- .../WaterMeters/WaterMeter/ProcParams.cs | 24 +++++-- .../WaterMeters/iPerl/ProcParams.cs | 22 +++++-- 13 files changed, 213 insertions(+), 63 deletions(-) diff --git a/TestBenchFramework/BenchControl/Cameras/CameraRoi/RoiProcedureParams.cs b/TestBenchFramework/BenchControl/Cameras/CameraRoi/RoiProcedureParams.cs index b1e26c420..3cd54bb43 100644 --- a/TestBenchFramework/BenchControl/Cameras/CameraRoi/RoiProcedureParams.cs +++ b/TestBenchFramework/BenchControl/Cameras/CameraRoi/RoiProcedureParams.cs @@ -224,6 +224,42 @@ namespace TBF.BenchControl.Cameras.CameraRoi return false; } + void CopyContentTo(RoiProcedureParams prms) + { + prms.IRoiX = this.IRoiX; + prms.IRoiY = this.IRoiY; + prms.IRoiW = this.IRoiW; + prms.IRoiH = this.IRoiH; + + prms.GradPerLtr = this.GradPerLtr; + prms.CCW = this.CCW; + prms.ORoiW = this.ORoiW; + prms.ORoiH = this.ORoiH; + prms.CX = this.CX; + prms.CY = this.CY; + + prms.R1 = this.R1; + prms.R2 = this.R2; + prms.R3 = this.R3; + prms.Ang1 = this.Ang1; + prms.Ang2 = this.Ang2; + prms.AngStep = this.AngStep; + prms.MinMvmt = this.MinMvmt; + prms.MaxMvmt = this.MaxMvmt; + + prms.SequenceLen = this.SequenceLen; + prms.SequenceTiming = this.SequenceTiming; + prms.BackgroundCorr = this.BackgroundCorr; + prms.BrightnessRoi = this.BrightnessRoi; + } + + public IParamsProvider Clone() + { + RoiProcedureParams pars = new RoiProcedureParams(); + CopyContentTo(pars); + return pars; + } + public override void UpdateProcedureParams(Entities.ComponentProcedure dbEntity) { if (dbEntity == null) return; @@ -236,31 +272,7 @@ namespace TBF.BenchControl.Cameras.CameraRoi componentName = dbEntity.CmpntName; procedure = dbEntity.Procedure; - IRoiX = tmp.IRoiX; - IRoiY = tmp.IRoiY; - IRoiW = tmp.IRoiW; - IRoiH = tmp.IRoiH; - - GradPerLtr = tmp.GradPerLtr; - CCW = tmp.CCW; - ORoiW = tmp.ORoiW; - ORoiH = tmp.ORoiH; - CX = tmp.CX; - CY = tmp.CY; - - R1 = tmp.R1; - R2 = tmp.R2; - R3 = tmp.R3; - Ang1 = tmp.Ang1; - Ang2 = tmp.Ang2; - AngStep = tmp.AngStep; - MinMvmt = tmp.MinMvmt; - MaxMvmt = tmp.MaxMvmt; - - SequenceLen = tmp.SequenceLen; - SequenceTiming = tmp.SequenceTiming; - BackgroundCorr = tmp.BackgroundCorr; - BrightnessRoi = tmp.BrightnessRoi; + tmp.CopyContentTo(this); } catch { diff --git a/TestBenchFramework/BenchControl/Elde/FixedStartRegisterReader/RRProcedureParams.cs b/TestBenchFramework/BenchControl/Elde/FixedStartRegisterReader/RRProcedureParams.cs index 873766d4e..6f9d4ed57 100644 --- a/TestBenchFramework/BenchControl/Elde/FixedStartRegisterReader/RRProcedureParams.cs +++ b/TestBenchFramework/BenchControl/Elde/FixedStartRegisterReader/RRProcedureParams.cs @@ -65,6 +65,18 @@ namespace TBF.BenchControl.Elde.FixedStartRegisterReader return false; } + void CopyContentTo(RRProcedureParams prms) + { + prms.PulsesPerLtr = this.PulsesPerLtr; + } + + public IParamsProvider Clone() + { + RRProcedureParams pars = new RRProcedureParams(); + CopyContentTo(pars); + return pars; + } + public override void UpdateProcedureParams(Entities.ComponentProcedure dbEntity) { if (dbEntity == null) return; @@ -77,7 +89,7 @@ namespace TBF.BenchControl.Elde.FixedStartRegisterReader componentName = dbEntity.CmpntName; procedure = dbEntity.Procedure; - PulsesPerLtr = tmp.PulsesPerLtr; + tmp.CopyContentTo(this); } catch { diff --git a/TestBenchFramework/BenchControl/Elde/RegisterReader/RRProcedureParams.cs b/TestBenchFramework/BenchControl/Elde/RegisterReader/RRProcedureParams.cs index cd67ec0d0..34ae49429 100644 --- a/TestBenchFramework/BenchControl/Elde/RegisterReader/RRProcedureParams.cs +++ b/TestBenchFramework/BenchControl/Elde/RegisterReader/RRProcedureParams.cs @@ -65,6 +65,18 @@ namespace TBF.BenchControl.Elde.RegisterReader return false; } + void CopyContentTo(RRProcedureParams prms) + { + prms.PulsesPerLtr = this.PulsesPerLtr; + } + + public IParamsProvider Clone() + { + RRProcedureParams pars = new RRProcedureParams(); + CopyContentTo(pars); + return pars; + } + public override void UpdateProcedureParams(Entities.ComponentProcedure dbEntity) { if (dbEntity == null) return; @@ -77,7 +89,7 @@ namespace TBF.BenchControl.Elde.RegisterReader componentName = dbEntity.CmpntName; procedure = dbEntity.Procedure; - PulsesPerLtr = tmp.PulsesPerLtr; + tmp.CopyContentTo(this); } catch { diff --git a/TestBenchFramework/BenchControl/Generic/IParamsProvider.cs b/TestBenchFramework/BenchControl/Generic/IParamsProvider.cs index c8dc096ad..e161e64ab 100644 --- a/TestBenchFramework/BenchControl/Generic/IParamsProvider.cs +++ b/TestBenchFramework/BenchControl/Generic/IParamsProvider.cs @@ -46,5 +46,11 @@ namespace TBF.BenchControl.Generic void UpdateParam(int ix, string strValue); void UpdateDbEntity(); + + /// + /// Creates an object copy + /// + /// + IParamsProvider Clone(); } } diff --git a/TestBenchFramework/BenchControl/ResultsPrinters/Munich/ProcParams.cs b/TestBenchFramework/BenchControl/ResultsPrinters/Munich/ProcParams.cs index 41414c635..b94e6ea3e 100644 --- a/TestBenchFramework/BenchControl/ResultsPrinters/Munich/ProcParams.cs +++ b/TestBenchFramework/BenchControl/ResultsPrinters/Munich/ProcParams.cs @@ -75,6 +75,21 @@ namespace TBF.BenchControl.ResultsPrinters.Munich } } + void CopyContentTo(ProcParams prms) + { + prms.Version = this.Version; + prms.Zaehlertyp = this.Zaehlertyp; + prms.Pruefvorlage = this.Pruefvorlage; + prms.Eichjahr = this.Eichjahr; + } + + public IParamsProvider Clone() + { + ProcParams pars = new ProcParams(); + CopyContentTo(pars); + return pars; + } + public override void UpdateProcedureParams(Entities.ComponentProcedure dbEntity) { if (dbEntity == null) return; @@ -87,10 +102,7 @@ namespace TBF.BenchControl.ResultsPrinters.Munich componentName = dbEntity.CmpntName; procedure = dbEntity.Procedure; - Version = tmp.Version; - Zaehlertyp = tmp.Zaehlertyp; - Pruefvorlage = tmp.Pruefvorlage; - Eichjahr = tmp.Eichjahr; + tmp.CopyContentTo(this); } catch { diff --git a/TestBenchFramework/BenchControl/TestMethods/CombinedMeters/CombinedTestParams.cs b/TestBenchFramework/BenchControl/TestMethods/CombinedMeters/CombinedTestParams.cs index d02a39e4e..9d5f273c8 100644 --- a/TestBenchFramework/BenchControl/TestMethods/CombinedMeters/CombinedTestParams.cs +++ b/TestBenchFramework/BenchControl/TestMethods/CombinedMeters/CombinedTestParams.cs @@ -63,6 +63,18 @@ namespace TBF.BenchControl.TestMethods.CombinedMeters return false; } + void CopyContentTo(CombinedTestParams prms) + { + prms.SupressTrills = this.SupressTrills; + } + + public IParamsProvider Clone() + { + CombinedTestParams pars = new CombinedTestParams(); + CopyContentTo(pars); + return pars; + } + public override void UpdateTestParams(Entities.ComponentTest dbEntity) { if (dbEntity == null) return; @@ -75,8 +87,7 @@ namespace TBF.BenchControl.TestMethods.CombinedMeters componentName = dbEntity.CmpntName; test = dbEntity.Test; - SupressTrills = tmp.SupressTrills; - + tmp.CopyContentTo(this); } catch { diff --git a/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/CombinedWithDetTestParams.cs b/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/CombinedWithDetTestParams.cs index d14dcf832..9025617c9 100644 --- a/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/CombinedWithDetTestParams.cs +++ b/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/CombinedWithDetTestParams.cs @@ -98,6 +98,23 @@ namespace TBF.BenchControl.TestMethods.CombinedWithDetection return false; } + void CopyContentTo(CombinedWithDetTestParams prms) + { + prms.TargetQ = this.TargetQ; + prms.RelativeQfrom = this.RelativeQfrom; + prms.RelativeQto = this.RelativeQto; + prms.RateOfChange = this.RateOfChange; + prms.DetectionThreshold = this.DetectionThreshold; + prms.SupressTrills = this.SupressTrills; + } + + public IParamsProvider Clone() + { + CombinedWithDetTestParams pars = new CombinedWithDetTestParams(); + CopyContentTo(pars); + return pars; + } + public override void UpdateTestParams(Entities.ComponentTest dbEntity) { if (dbEntity == null) return; @@ -110,13 +127,7 @@ namespace TBF.BenchControl.TestMethods.CombinedWithDetection componentName = dbEntity.CmpntName; test = dbEntity.Test; - TargetQ = tmp.TargetQ; - RelativeQfrom = tmp.RelativeQfrom; - RelativeQto = tmp.RelativeQto; - RateOfChange = tmp.RateOfChange; - DetectionThreshold = tmp.DetectionThreshold; - SupressTrills = tmp.SupressTrills; - + tmp.CopyContentTo(this); } catch { diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/TestParams.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/TestParams.cs index 7c882798b..701b00bb4 100644 --- a/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/TestParams.cs +++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/TestParams.cs @@ -69,6 +69,19 @@ namespace TBF.BenchControl.TestMethods.FlyingStartCollectionMethod return false; } + void CopyContentTo(TestParams prms) + { + prms.Evaluate = this.Evaluate; + prms.Publish = this.Publish; + } + + public IParamsProvider Clone() + { + TestParams pars = new TestParams(); + CopyContentTo(pars); + return pars; + } + public override void UpdateTestParams(Entities.ComponentTest dbEntity) { if (dbEntity == null) return; @@ -81,9 +94,8 @@ namespace TBF.BenchControl.TestMethods.FlyingStartCollectionMethod componentName = dbEntity.CmpntName; test = dbEntity.Test; - Evaluate = tmp.Evaluate; - Publish = tmp.Publish; - } + tmp.CopyContentTo(this); + } catch { } diff --git a/TestBenchFramework/BenchControl/TestMethods/LeakTest/LeakTestParams.cs b/TestBenchFramework/BenchControl/TestMethods/LeakTest/LeakTestParams.cs index 160c7f019..052d3d09c 100644 --- a/TestBenchFramework/BenchControl/TestMethods/LeakTest/LeakTestParams.cs +++ b/TestBenchFramework/BenchControl/TestMethods/LeakTest/LeakTestParams.cs @@ -85,6 +85,21 @@ namespace TBF.BenchControl.TestMethods.LeakTest return false; } + void CopyContentTo(LeakTestParams prms) + { + prms.PressureLo = this.PressureLo; + prms.PressureHi = this.PressureHi; + prms.DurationPMax = this.DurationPMax; + prms.DurationLeak = this.DurationLeak; + } + + public IParamsProvider Clone() + { + LeakTestParams pars = new LeakTestParams(); + CopyContentTo(pars); + return pars; + } + public override void UpdateTestParams(Entities.ComponentTest dbEntity) { if (dbEntity == null) return; @@ -97,10 +112,7 @@ namespace TBF.BenchControl.TestMethods.LeakTest componentName = dbEntity.CmpntName; test = dbEntity.Test; - PressureLo = tmp.PressureLo; - PressureHi = tmp.PressureHi; - DurationPMax = tmp.DurationPMax; - DurationLeak = tmp.DurationLeak; + tmp.CopyContentTo(this); } catch { diff --git a/TestBenchFramework/BenchControl/TestMethods/PMaxTest/PMaxTestParams.cs b/TestBenchFramework/BenchControl/TestMethods/PMaxTest/PMaxTestParams.cs index 1d1ac1083..e315fd24c 100644 --- a/TestBenchFramework/BenchControl/TestMethods/PMaxTest/PMaxTestParams.cs +++ b/TestBenchFramework/BenchControl/TestMethods/PMaxTest/PMaxTestParams.cs @@ -79,6 +79,20 @@ namespace TBF.BenchControl.TestMethods.PMaxTest return false; } + void CopyContentTo(PMaxTestParams prms) + { + prms.PressureLo = this.PressureLo; + prms.PressureHi = this.PressureHi; + prms.DurationPMax = this.DurationPMax; + } + + public IParamsProvider Clone() + { + PMaxTestParams pars = new PMaxTestParams(); + CopyContentTo(pars); + return pars; + } + public override void UpdateTestParams(Entities.ComponentTest dbEntity) { if (dbEntity == null) return; @@ -91,9 +105,7 @@ namespace TBF.BenchControl.TestMethods.PMaxTest componentName = dbEntity.CmpntName; test = dbEntity.Test; - PressureLo = tmp.PressureLo; - PressureHi = tmp.PressureHi; - DurationPMax = tmp.DurationPMax; + tmp.CopyContentTo(this); } catch { diff --git a/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlCommunicationParams.cs b/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlCommunicationParams.cs index c7174e2ff..e8ea7e562 100644 --- a/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlCommunicationParams.cs +++ b/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlCommunicationParams.cs @@ -76,6 +76,20 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication return false; } + void CopyContentTo(iPerlCommunicationParams prms) + { + prms.Activity = this.Activity; + prms.SimultWithPrevious = this.SimultWithPrevious; + prms.SimultWithNext = this.SimultWithNext; + } + + public IParamsProvider Clone() + { + iPerlCommunicationParams pars = new iPerlCommunicationParams(); + CopyContentTo(pars); + return pars; + } + public override void UpdateTestParams(Entities.ComponentTest dbEntity) { if (dbEntity == null) return; @@ -88,9 +102,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication componentName = dbEntity.CmpntName; test = dbEntity.Test; - Activity = tmp.Activity; - SimultWithPrevious = tmp.SimultWithPrevious; - SimultWithNext = tmp.SimultWithNext; + tmp.CopyContentTo(this); } catch { diff --git a/TestBenchFramework/BenchControl/WaterMeters/WaterMeter/ProcParams.cs b/TestBenchFramework/BenchControl/WaterMeters/WaterMeter/ProcParams.cs index 54ceb8487..b6aa52046 100644 --- a/TestBenchFramework/BenchControl/WaterMeters/WaterMeter/ProcParams.cs +++ b/TestBenchFramework/BenchControl/WaterMeters/WaterMeter/ProcParams.cs @@ -109,6 +109,21 @@ namespace TBF.BenchControl.WaterMeters.WaterMeter return false; } + void CopyContentTo(ProcParams prms) + { + prms.Producer = this.Producer; + prms.Qn = this.Qn; + prms.ApprovalInfo = this.ApprovalInfo; + prms.MetrologicalClass = this.MetrologicalClass; + } + + public IParamsProvider Clone() + { + ProcParams pars = new ProcParams(); + CopyContentTo(pars); + return pars; + } + public override void UpdateProcedureParams(Entities.ComponentProcedure dbEntity) { if (dbEntity == null) return; @@ -121,17 +136,16 @@ namespace TBF.BenchControl.WaterMeters.WaterMeter componentName = dbEntity.CmpntName; procedure = dbEntity.Procedure; - Producer = tmp.Producer; - Qn = tmp.Qn; - ApprovalInfo = tmp.ApprovalInfo; - MetrologicalClass = tmp.MetrologicalClass; + tmp.CopyContentTo(this); } catch { } } - + /// + /// Parameterless constructor initializes the parameters + /// public ProcParams() { } diff --git a/TestBenchFramework/BenchControl/WaterMeters/iPerl/ProcParams.cs b/TestBenchFramework/BenchControl/WaterMeters/iPerl/ProcParams.cs index e1ec74288..72f0c3d92 100644 --- a/TestBenchFramework/BenchControl/WaterMeters/iPerl/ProcParams.cs +++ b/TestBenchFramework/BenchControl/WaterMeters/iPerl/ProcParams.cs @@ -91,6 +91,22 @@ namespace TBF.BenchControl.WaterMeters.iPerl return false; } + void CopyContentTo(ProcParams prms) + { + prms.PulsesPerLtr = this.PulsesPerLtr; + prms.Producer = this.Producer; + prms.Qn = this.Qn; + prms.ApprovalInfo = this.ApprovalInfo; + prms.MetrologicalClass = this.MetrologicalClass; + } + + public IParamsProvider Clone() + { + ProcParams pars = new ProcParams(); + CopyContentTo(pars); + return pars; + } + public override void UpdateProcedureParams(Entities.ComponentProcedure dbEntity) { if (dbEntity == null) return; @@ -103,11 +119,7 @@ namespace TBF.BenchControl.WaterMeters.iPerl componentName = dbEntity.CmpntName; procedure = dbEntity.Procedure; - PulsesPerLtr = tmp.PulsesPerLtr; - Producer = tmp.Producer; - Qn = tmp.Qn; - ApprovalInfo = tmp.ApprovalInfo; - MetrologicalClass = tmp.MetrologicalClass; + tmp.CopyContentTo(this); } catch {