From bcae594b3f0ea3a78180db9a8393e57412f1260f Mon Sep 17 00:00:00 2001 From: Milan Hanajik Date: Thu, 17 Dec 2015 09:31:41 +0100 Subject: [PATCH] WaterMeterResults -> Results, etc. --- Config/ResultItemSpec.cs | 9 + Results/Entities/MeterTestResult.cs | 67 ------- Results/Entities/TestResult.cs | 167 ------------------ .../Entities}/WaterMeterResult.cs | 2 +- Results/Mappings/MeterTestResultMap.cs | 29 --- Results/Mappings/TestResultMap.cs | 109 ------------ Results/Results.csproj | 10 +- ResultsBrowser/DataDeposit.cs | 16 +- ResultsBrowser/MainWnd.cs | 2 +- ResultsBrowser/ResultsBrowser.csproj | 5 +- .../BenchControl/DB/SensusOracle/Database.cs | 2 +- .../GenericDevices/IResultsWriter.cs | 5 +- .../ResultsWriters/Basic/Writer.cs | 2 +- .../BenchControl/Sequences/MainSeq.cs | 2 +- TestBenchFramework/TBF.csproj | 6 +- 15 files changed, 39 insertions(+), 394 deletions(-) delete mode 100644 Results/Entities/MeterTestResult.cs delete mode 100644 Results/Entities/TestResult.cs rename {ResultsBrowser => Results/Entities}/WaterMeterResult.cs (99%) delete mode 100644 Results/Mappings/MeterTestResultMap.cs delete mode 100644 Results/Mappings/TestResultMap.cs diff --git a/Config/ResultItemSpec.cs b/Config/ResultItemSpec.cs index eb8f0ae6c..c0d76fd11 100644 --- a/Config/ResultItemSpec.cs +++ b/Config/ResultItemSpec.cs @@ -76,12 +76,19 @@ namespace Config AllItems = new List(); /// Common + + //AllItems.Add(new ResultItemSpec("Bench ID", "Bench ID", x => x.TestResult.BenchID, + // (x, y, z) => x.TestResult.BenchID)); AllItems.Add(new ResultItemSpec("Test name", "Test", x => x.TestResult.TestName, (x, y, z) => x.TestResult.TestName)); AllItems.Add(new ResultItemSpec("Procedure name", "Procedure", x => x.TestResult.ProcedureName, (x, y, z) => x.TestResult.ProcedureName)); AllItems.Add(new ResultItemSpec("Batch number", "Batch nr.", x => x.TestResult.BatchNr.ToString(), (x, y, z) => x.TestResult.BatchNr.ToString())); + AllItems.Add(new ResultItemSpec("Test method", "Test method", x => x.TestResult.Method, + (x, y, z) => x.TestResult.Method)); + AllItems.Add(new ResultItemSpec("Density", "Density", x => x.TestResult.DensityOut.ToString("F1"), + (x, y, z) => x.TestResult.DensityOut.ToString("F1"))); /// [kg/m3] /// Target values AllItems.Add(new ResultItemSpec("Q from", "Q from [l/h]", x => x.TestResult.Qfrom.ToString("F3"), @@ -96,6 +103,8 @@ namespace Config (x, y, z) => x.TestResult.ErrLimHi.ToString("F1"))); AllItems.Add(new ResultItemSpec("Error limit sum", "Err.Lim.Sum [%]", x => (x.TestResult.ErrLimHi - x.TestResult.ErrLimLo).ToString("F1"), (x, y, z) => (x.TestResult.ErrLimHi - x.TestResult.ErrLimLo).ToString("F1"))); + AllItems.Add(new ResultItemSpec("Uncertainty", "Uncertainty [%]", x => x.TestResult.Uncertainty.ToString("F2"), + (x, y, z) => x.TestResult.Uncertainty.ToString("F2"))); /// Test results AllItems.Add(new ResultItemSpec("Start time", "T start", x => x.TestResult.TimeStart.ToShortTimeString(), diff --git a/Results/Entities/MeterTestResult.cs b/Results/Entities/MeterTestResult.cs deleted file mode 100644 index 9b3c2e1eb..000000000 --- a/Results/Entities/MeterTestResult.cs +++ /dev/null @@ -1,67 +0,0 @@ -/// -/// Copyright (c) 2013-2015 Sensus Metering Systems -/// -using System; - -namespace Results.Entities -{ - public class MeterTestResult - { - public virtual int Id { get; protected set; } - public virtual TestResult TestResult { get; set; } /// reference to the TestResult entity - - public virtual bool Disabled { get; set; } /// true = this meter was disabled and the results should be disregarded - public virtual string SerialNr { get; set; } - public virtual string EndState { get; set; } - public virtual float VolumeStart { get; set; } /// liter - public virtual float VolumeEnd { get; set; } /// liter - public virtual float VolumeMeter { get; set; } /// liter - public virtual float VolumeRef { get; set; } /// liter - public virtual float VolumeErrorPct { get; set; } /// % - public virtual float PulsesMeter { get; set; } /// # of pulses - public virtual float PulsesPerLiter { get; set; } /// Pulses per liter - public virtual float PulsesMaster { get; set; } - public virtual float Time { get; set; } /// sec. - public virtual float TimeStart { get; set; } /// sec. - Not mapped to DB !!! - public virtual float TimeEnd { get; set; } /// sec. - Not mapped to DB !!! - public virtual int CalibFactor { get; set; } /// iPerl calibration factor used during the test - Not mapped to DB !!! - public virtual double Q2Correction { get; set; } /// iPerl Q2 correction used during the test - Not mapped to DB !!! - public virtual bool Passed { get; set; } /// true=test passed - Not mapped to DB !!! - - public MeterTestResult() - { - PulsesPerLiter = 1.0f; - } - - public MeterTestResult(TestResult testResult) - : this() - { - TestResult = testResult; - } - - public virtual MeterTestResult Clone(TestResult testResult) - { - MeterTestResult result = new MeterTestResult(testResult); - - result.Disabled = Disabled; - result.SerialNr = SerialNr; - result.EndState = EndState; - result.VolumeStart = VolumeStart; - result.VolumeEnd = VolumeEnd; - result.VolumeMeter = VolumeMeter; - result.VolumeRef = VolumeRef; - result.VolumeErrorPct = VolumeErrorPct; - result.PulsesMeter = PulsesMeter; - result.PulsesPerLiter = PulsesPerLiter; - result.PulsesMaster = PulsesMaster; - result.Time = Time; - result.TimeStart = TimeStart; - result.TimeEnd = TimeEnd; - result.CalibFactor = CalibFactor; - result.Q2Correction = Q2Correction; - result.Passed = Passed; - - return result; - } - } -} diff --git a/Results/Entities/TestResult.cs b/Results/Entities/TestResult.cs deleted file mode 100644 index 40759e1df..000000000 --- a/Results/Entities/TestResult.cs +++ /dev/null @@ -1,167 +0,0 @@ -/// -/// Copyright (c) 2013-2015 Sensus Metering Systems -/// -using System; -using System.Collections.Generic; -using Config.Entities; - -namespace Results.Entities -{ - public class TestResult - { - public virtual int Id { get; protected set; } - public virtual string Name { get; set; } - public virtual int BatchNr { get; set; } - public virtual string PurchaseOrder { get; set; } - public virtual MetersKind MetersKind { get; set; } - public virtual IList Meters { get; set; } - public virtual IList CombinedMeters { get; set; } - - /// Value copied from the procedure (Entities.Procedure) - public virtual string ProcedureName { get; set; } - public virtual string ProtocolTitle { get; set; } - - /// Values copied from the test (Entities.Test) - public virtual int TestId { get; set; } /// Test entity ID to distinguish between tests with the same name - public virtual string TestName { get; set; } - public virtual int Part { get; set; } - public virtual bool DoNotEvaluate { get; set; } /// Not mapped to the database - public virtual bool DoNotPublish { get; set; } /// Not mapped to the database - public virtual float Qfrom { get; set; } /// [m3/h] Water flow low limit - public virtual float Qto { get; set; } /// [m3/h] Water flow high limit - public virtual float Volume { get; set; } /// [l] Target test volume - public virtual float TstTime { get; set; } /// [s] Test time estimate - public virtual int Repeats { get; set; } - public virtual bool Emptying { get; set; } - public virtual bool Zeroing { get; set; } - public virtual float PumpPower { get; set; } /// Power of the pump in [%] in the range 0 .. 100.0f, use values 0% and 100% for non-FM pumps - public virtual int Time2MassMsrmt { get; set; } - public virtual string Method { get; set; } - public virtual float ErrLimLo { get; set; } /// [%] Lower error limit (usually < 0) - public virtual float ErrLimHi { get; set; } /// [%] Upper error limit (usually > 0) - public virtual float Uncertainty { get; set; } /// [%] Makes error limits tighter: 0 <= Uncertainty <= abs(ErrLimXx) - - /// To be replaced by the virtual bench component parameters - public virtual string FeedingPath { get; set; } - public virtual string BenchPath { get; set; } - public virtual string OutputPath { get; set; } - public virtual string MetersPath { get; set; } - - /// Results - public virtual DateTime TimeStart { get; set; } /// Date and time of the test start - public virtual DateTime TimeEnd { get; set; } /// Date and time of the test end - public virtual int RepetitionNr { get; set; } /// Repetition number from the set of repeated tests (1...) - public virtual float AmbientTempAve { get; set; } /// [deg.C] Average ambient air temperature - public virtual float AmbientPressAve { get; set; } /// Average ambient air pressure - public virtual float AmbientHumiAve { get; set; } /// [%] Average ambient air relative humidity - public virtual float PressInAvrg { get; set; } /// [Bar] Input water pressure (average) - public virtual float PressInStart { get; set; } /// [Bar] - public virtual float PressInEnd { get; set; } /// [Bar] - public virtual float PressOutAvrg { get; set; } /// [Bar] - public virtual float PressOutStart { get; set; } /// [Bar] - public virtual float PressOutEnd { get; set; } /// [Bar] - public virtual float TempInAvrg { get; set; } /// [deg.C] - public virtual float TempInStart { get; set; } /// [deg.C] - public virtual float TempInEnd { get; set; } /// [deg.C] - public virtual float TempOutAvrg { get; set; } /// [deg.C] - public virtual float TempOutStart { get; set; } /// [deg.C] - public virtual float TempOutEnd { get; set; } /// [deg.C] - public virtual float TempDivAvrg { get; set; } /// [deg.C] - public virtual float TempDivStart { get; set; } /// [deg.C] - public virtual float TempDivEnd { get; set; } /// [deg.C] - public virtual float MassStartRaw { get; set; } /// [kg] - public virtual float MassStart { get; set; } /// [kg] - public virtual float MassEndRaw { get; set; } /// [kg] - public virtual float MassEnd { get; set; } /// [kg] - public virtual float MassDiff { get; set; } /// [kg] - public virtual float DensityIn { get; set; } /// [kg/m3] - public virtual float DensityOut { get; set; } /// [kg/m3] - public virtual float DensityDiv { get; set; } /// [kg/m3] - public virtual float Buoyancy { get; set; } ///TODO -> map - public virtual float FlowMass { get; set; } /// [kg/h] calculated from conventional true value - public virtual float FlowVolume { get; set; } /// [l/h] calculated from conventional true value - public virtual float VolumeCTV { get; set; } /// [l] Volume conventional true value - public virtual float VolumeMaster { get; set; } /// [l] Volume from the master flow meter - public virtual float Time { get; set; } /// [s] Measurement time in seconds - public virtual float ErrorMaster { get; set; } /// [%] - public virtual float PulsesMaster { get; set; } - public virtual float ConstMaster { get; set; } /// [pls/l] Pulses per liter master flow meter - public virtual float QRise { get; set; } /// Detected Q_rise of a composed meter - public virtual float QFall { get; set; } /// Detected Q_fall of a composed meter - public virtual float TimeDivStart0 { get; set; } - public virtual float TimeDivStart1 { get; set; } - public virtual float TimeDivStart2 { get; set; } - public virtual float TimeDivStart3 { get; set; } - public virtual float TimeDivStart4 { get; set; } - public virtual float TimeDivStart5 { get; set; } - public virtual float TimeDivEnd0 { get; set; } - public virtual float TimeDivEnd1 { get; set; } - public virtual float TimeDivEnd2 { get; set; } - public virtual float TimeDivEnd3 { get; set; } - public virtual float TimeDivEnd4 { get; set; } - public virtual float TimeDivEnd5 { get; set; } - - public TestResult() - { - Meters = new List(); - CombinedMeters = new List(); - } - - public TestResult(MetersKind kind) - : this() - { - MetersKind = kind; - - if (kind == MetersKind.Single) - { - for (int i = 0; i < Config.Data.WMsCount; i++) Meters.Add(new MeterTestResult(this)); - } - else if (kind == MetersKind.Combined) - { - for (int i = 0; i < 2 * Config.Data.CompoundWMsCount; i++) Meters.Add(new MeterTestResult(this)); - for (int i = 0; i < Config.Data.CompoundWMsCount; i++) CombinedMeters.Add(new MeterTestResult(this)); - } - } - - public TestResult(Test test, int repetitionNr, MetersKind kind) - : this(kind) - { - if (test.Repeats == 1) - { - Name = test.Name; - } - else - { - Name = string.Format("{0} ({1}/{2})", test.Name, repetitionNr, test.Repeats); - } - RepetitionNr = repetitionNr; - - /// Copy test parameters from Entities.Procedure object - ProcedureName = test.Procedure.Name; - ProtocolTitle = test.Procedure.ProtocolTitle; - - /// Copy test parameters from Entities.Test object - TestId = test.Id; - TestName = test.Name; - Part = test.Part; - Qfrom = test.Qfrom; - Qto = test.Qto; - Volume = test.Volume; - TstTime = test.TstTime; - Repeats = test.Repeats; - Emptying = test.Emptying; - Zeroing = test.Zeroing; - PumpPower = PumpPower; - Time2MassMsrmt = test.TimeStop2Mass; - Method = test.Method; - ErrLimLo = test.ErrLimLo; - ErrLimHi = test.ErrLimHi; - Uncertainty = test.Uncertainty; - - FeedingPath = test.FeedingPath; - BenchPath = test.BenchPath; - OutputPath = test.OutputPath; - MetersPath = test.MetersPath; - } - } -} diff --git a/ResultsBrowser/WaterMeterResult.cs b/Results/Entities/WaterMeterResult.cs similarity index 99% rename from ResultsBrowser/WaterMeterResult.cs rename to Results/Entities/WaterMeterResult.cs index 2c5e21158..5870fd306 100644 --- a/ResultsBrowser/WaterMeterResult.cs +++ b/Results/Entities/WaterMeterResult.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using Config.Entities; -namespace ResultsBrowser +namespace Results.Entities { public class WaterMeterResult { diff --git a/Results/Mappings/MeterTestResultMap.cs b/Results/Mappings/MeterTestResultMap.cs deleted file mode 100644 index 3b80fbaa6..000000000 --- a/Results/Mappings/MeterTestResultMap.cs +++ /dev/null @@ -1,29 +0,0 @@ -/// -/// Copyright (c) 2013-2015 Sensus Metering Systems -/// -using FluentNHibernate.Mapping; -using Results.Entities; - -namespace Results.Mappings -{ - class MeterTestResultMap : ClassMap - { - public MeterTestResultMap() - { - Id(x => x.Id); - References(x => x.TestResult); - Map(x => x.Disabled); - Map(x => x.SerialNr); - Map(x => x.EndState); - Map(x => x.VolumeStart); - Map(x => x.VolumeEnd); - Map(x => x.VolumeMeter); - Map(x => x.VolumeRef); - Map(x => x.VolumeErrorPct); - Map(x => x.PulsesMeter); - Map(x => x.PulsesPerLiter); - Map(x => x.PulsesMaster); - Map(x => x.Time); - } - } -} diff --git a/Results/Mappings/TestResultMap.cs b/Results/Mappings/TestResultMap.cs deleted file mode 100644 index 4597cb7a7..000000000 --- a/Results/Mappings/TestResultMap.cs +++ /dev/null @@ -1,109 +0,0 @@ -/// -/// Copyright (c) 2013-2015 Sensus Metering Systems -/// -using FluentNHibernate.Mapping; -using Results.Entities; - -namespace Results.Mappings -{ - class TestResultMap : ClassMap - { - public TestResultMap() - { - Id(x => x.Id); - Map(x => x.Name); - Map(x => x.BatchNr); - Map(x => x.PurchaseOrder); - Map(x => x.MetersKind); - HasMany(x => x.Meters) - .Cascade.All(); - HasMany(x => x.CombinedMeters) - .Cascade.All(); - - Map(x => x.ProcedureName); - Map(x => x.ProtocolTitle); - - Map(x => x.TestId); - Map(x => x.TestName); - Map(x => x.Part); - Map(x => x.Qfrom); - Map(x => x.Qto); - Map(x => x.Volume); - Map(x => x.TstTime); - Map(x => x.Repeats); - Map(x => x.Emptying); - Map(x => x.Zeroing); - Map(x => x.PumpPower); - Map(x => x.Time2MassMsrmt); - Map(x => x.Method); - Map(x => x.ErrLimLo); - Map(x => x.ErrLimHi); - Map(x => x.Uncertainty); - - Map(x => x.FeedingPath) - .CustomType("StringClob") - .CustomSqlType("varchar(4000)"); - Map(x => x.BenchPath) - .CustomType("StringClob") - .CustomSqlType("varchar(4000)"); - Map(x => x.OutputPath) - .CustomType("StringClob") - .CustomSqlType("varchar(4000)"); - Map(x => x.MetersPath) - .CustomType("StringClob") - .CustomSqlType("varchar(4000)"); - - Map(x => x.TimeStart); - Map(x => x.TimeEnd); - Map(x => x.RepetitionNr); - Map(x => x.AmbientTempAve); - Map(x => x.AmbientPressAve); - Map(x => x.AmbientHumiAve); - Map(x => x.PressInAvrg); - Map(x => x.PressInStart); - Map(x => x.PressInEnd); - Map(x => x.PressOutAvrg); - Map(x => x.PressOutStart); - Map(x => x.PressOutEnd); - Map(x => x.TempInAvrg); - Map(x => x.TempInStart); - Map(x => x.TempInEnd); - Map(x => x.TempOutAvrg); - Map(x => x.TempOutStart); - Map(x => x.TempOutEnd); - Map(x => x.TempDivAvrg); - Map(x => x.TempDivStart); - Map(x => x.TempDivEnd); - Map(x => x.MassStartRaw); - Map(x => x.MassStart); - Map(x => x.MassEndRaw); - Map(x => x.MassEnd); - Map(x => x.MassDiff); - Map(x => x.DensityIn); - Map(x => x.DensityOut); - Map(x => x.DensityDiv); - Map(x => x.FlowMass); /// from conventional true value - Map(x => x.FlowVolume); /// from conventional true value - Map(x => x.VolumeCTV); /// volume conventional true value - Map(x => x.VolumeMaster); /// volume from the master flow meter - Map(x => x.Time); /// measurement time in seconds - Map(x => x.ErrorMaster); - Map(x => x.PulsesMaster); - Map(x => x.ConstMaster); /// Pulses per liter master flow meter - Map(x => x.QRise); - Map(x => x.QFall); - Map(x => x.TimeDivStart0); - Map(x => x.TimeDivStart1); - Map(x => x.TimeDivStart2); - Map(x => x.TimeDivStart3); - Map(x => x.TimeDivStart4); - Map(x => x.TimeDivStart5); - Map(x => x.TimeDivEnd0); - Map(x => x.TimeDivEnd1); - Map(x => x.TimeDivEnd2); - Map(x => x.TimeDivEnd3); - Map(x => x.TimeDivEnd4); - Map(x => x.TimeDivEnd5); - } - } -} diff --git a/Results/Results.csproj b/Results/Results.csproj index 8b6ff167f..75aad9438 100644 --- a/Results/Results.csproj +++ b/Results/Results.csproj @@ -54,10 +54,7 @@ - - - - + @@ -66,6 +63,11 @@ Config + + + + +