From cafdffd6472fc48704120a5fc4e335013ec0dd73 Mon Sep 17 00:00:00 2001 From: Milan Hanajik Date: Fri, 14 Jul 2017 16:31:05 +0200 Subject: [PATCH] (1) LU-logging changes, (2) Oracle DB changes for Greece - saving average results from multiple tests. --- .../BenchControl/DB/SensusOracle/Database.cs | 275 ++++++------------ 1 file changed, 96 insertions(+), 179 deletions(-) diff --git a/TestBenchFramework/BenchControl/DB/SensusOracle/Database.cs b/TestBenchFramework/BenchControl/DB/SensusOracle/Database.cs index 5447233d2..e497cd33c 100644 --- a/TestBenchFramework/BenchControl/DB/SensusOracle/Database.cs +++ b/TestBenchFramework/BenchControl/DB/SensusOracle/Database.cs @@ -552,180 +552,25 @@ namespace TBF.BenchControl.DB.SensusOracle logger.WriteLine(string.Format("Datum={0}", batch.StartTime.ToString("dd.MM.yyyy"))); logger.WriteLine(string.Format("GesamtDauer={0}", batch.EndTime.Subtract(batch.StartTime).TotalSeconds)); logger.WriteLine(string.Format("Dichtprüfung={0}", 0)); /// 1 - /// - logger.WriteLine(string.Format("Q-5_geprüft={0}", 0)); /// 0 - /// - logger.WriteLine(string.Format("Q-4_geprüft={0}", 0)); /// 0 - /// - logger.WriteLine(string.Format("Q-3_geprüft={0}", 0)); /// 0 - /// - logger.WriteLine(string.Format("Q-2_geprüft={0}", 0)); /// 0 - /// - logger.WriteLine(string.Format("Q-1_geprüft={0}", 1)); /// 1 - logger.WriteLine(string.Format("Prüfvolumen-1={0}", 0)); /// 0,00000 - logger.WriteLine(string.Format("Prüfmasse-1={0}", 0)); /// 0,00000 - logger.WriteLine(string.Format("Temp1_P-1={0}", 0)); /// 19,8 - logger.WriteLine(string.Format("Temp2_P-1={0}", 0)); /// 19,8 - logger.WriteLine(string.Format("Temp3_P-1={0}", 0)); /// 19,8 - logger.WriteLine(string.Format("Temp4_P-1={0}", 0)); /// 19,8 - logger.WriteLine(string.Format("Temp5_P-1={0}", 0)); /// 19,8 - logger.WriteLine(string.Format("Temp6_P-1={0}", 0)); /// 19,8 - logger.WriteLine(string.Format("Temp7_P-1={0}", 0)); /// 0,0 - logger.WriteLine(string.Format("Temp8_P-1={0}", 0)); /// 0,0 - logger.WriteLine(string.Format("Druck1_P-1={0}", adj.TestRslt.PressUpMean.ToString(Program.AltCulture))); - logger.WriteLine(string.Format("Druck2_P-1={0}", adj.TestRslt.PressDownMean.ToString(Program.AltCulture))); - logger.WriteLine(string.Format("K-Faktor-1={0}", 0)); /// 0,00000000 - logger.WriteLine(string.Format("Q_Waage-1={0}", 0)); /// 3880,87469 - logger.WriteLine(string.Format("Q_Vergleich-1={0}", 0)); /// 3869,47056 - logger.WriteLine(string.Format("Fehler_Vergleich-1={0}", 0)); /// -0,29472 - logger.WriteLine(string.Format("VZ_ZeitImpulse-1={0}", 0)); /// 500,14362 - logger.WriteLine(string.Format("VZ_Impulse-1={0}", 0)); /// 645097 - logger.WriteLine(string.Format("ZeitImpulse_VZ-1={0}", 0)); /// 976843 - logger.WriteLine(string.Format("VorwahlZähler-1={0}", 0)); /// 0,00000 - logger.WriteLine(string.Format("VZ_Nummer-1={0}", 0)); /// 1 - logger.WriteLine(string.Format("Anfangsgewicht-1={0}", 0)); /// 0,00000 - logger.WriteLine(string.Format("Endgewicht-1={0}", 0)); /// 0,00000 - logger.WriteLine(string.Format("MinDurchfluss-1={0}", 0)); /// 3862,00000 - logger.WriteLine(string.Format("MaxDurchfluss-1={0}", 0)); /// 3876,00000 - logger.WriteLine(string.Format("Q_Einstellzeit-1={0}", 0)); /// 7,28 - logger.WriteLine(string.Format("Pumpennummer-1={0}", 0)); /// 2 - logger.WriteLine(string.Format("Drehzahl-1={0}", 0)); /// 2269 - logger.WriteLine(string.Format("DAW_Wert-1={0}", 0)); /// 1501 - logger.WriteLine(string.Format("Leitfähigkeit-1={0}", 0)); /// 545,05 - logger.WriteLine(string.Format("LuftDruck-1={0}", 0)); /// 0,0 - logger.WriteLine(string.Format("LuftFeuchtigkeit-1={0}", 0)); /// 0,0 - logger.WriteLine(string.Format("HyDruck-1={0}", 0)); /// 6,2 - logger.WriteLine(string.Format("VorratsDruckHy-1={0}", 0)); /// 6,3 - logger.WriteLine(string.Format("Anfangsgewicht2_-1={0}", 0)); /// 0,00000 - logger.WriteLine(string.Format("Endgewicht2_-1={0}", 0)); /// 0,00000 - logger.WriteLine(string.Format("Prüfmasse2_-1={0}", 0)); /// 0,00000 - logger.WriteLine(string.Format("GegenWaage-1={0}", 0)); /// 0 - /// - logger.WriteLine(string.Format("Q0_geprüft={0}", 0)); /// 0 - /// - logger.WriteLine(string.Format("Q1_geprüft={0}", 1)); /// 1 - logger.WriteLine(string.Format("Prüfvolumen1={0}", 0)); /// 3,73655 - logger.WriteLine(string.Format("Prüfmasse1={0}", 0)); /// 3,72610 - logger.WriteLine(string.Format("Temp1_P1={0}", 0)); /// 20,0 - logger.WriteLine(string.Format("Temp2_P1={0}", 0)); /// 20,0 - logger.WriteLine(string.Format("Temp3_P1={0}", 0)); /// 20,0 - logger.WriteLine(string.Format("Temp4_P1={0}", 0)); /// 20,0 - logger.WriteLine(string.Format("Temp5_P1={0}", 0)); /// 20,0 - logger.WriteLine(string.Format("Temp6_P1={0}", 0)); /// 20,0 - logger.WriteLine(string.Format("Temp7_P1={0}", 0)); /// 0,0 - logger.WriteLine(string.Format("Temp8_P1={0}", 0)); /// 0,0 - logger.WriteLine(string.Format("Druck1_P1={0}", q1.TestRslt.PressUpMean.ToString(Program.AltCulture))); - logger.WriteLine(string.Format("Druck2_P1={0}", q1.TestRslt.PressDownMean.ToString(Program.AltCulture))); - logger.WriteLine(string.Format("K-Faktor1={0}", 0)); /// 0,99820080 - logger.WriteLine(string.Format("Q_Waage1={0}", 0)); /// 26,89887 - logger.WriteLine(string.Format("Q_Vergleich1={0}", 0)); /// 26,83427 - logger.WriteLine(string.Format("Fehler_Vergleich1={0}", 0)); /// -0,24014 - logger.WriteLine(string.Format("VZ_ZeitImpulse1={0}", 0)); /// 500,07962 - logger.WriteLine(string.Format("VZ_Impulse1={0}", 0)); /// 4473091 - logger.WriteLine(string.Format("ZeitImpulse_VZ1={0}", 0)); /// 976718 - logger.WriteLine(string.Format("VorwahlZähler1={0}", 0)); /// 0,00000 - logger.WriteLine(string.Format("VZ_Nummer1={0}", 0)); /// 3 - logger.WriteLine(string.Format("Anfangsgewicht1={0}", 0)); /// 4,66535 - logger.WriteLine(string.Format("Endgewicht1={0}", 0)); /// 8,39145 - logger.WriteLine(string.Format("MinDurchfluss1={0}", 0)); /// 26,73800 - logger.WriteLine(string.Format("MaxDurchfluss1={0}", 0)); /// 27,04800 - logger.WriteLine(string.Format("Q_Einstellzeit1={0}", 0)); /// 4,17 - logger.WriteLine(string.Format("Pumpennummer1={0}", 0)); /// 3 - logger.WriteLine(string.Format("Drehzahl1={0}", 0)); /// 1743 - logger.WriteLine(string.Format("DAW_Wert1={0}", 0)); /// 2700 - logger.WriteLine(string.Format("Leitfähigkeit1={0}", 0)); /// 543,10 - logger.WriteLine(string.Format("LuftDruck1={0}", 0)); /// 0,0 - logger.WriteLine(string.Format("LuftFeuchtigkeit1={0}", 0)); /// 0,0 - logger.WriteLine(string.Format("HyDruck1={0}", 0)); /// 6,2 - logger.WriteLine(string.Format("VorratsDruckHy1={0}", 0)); /// 6,3 - logger.WriteLine(string.Format("Anfangsgewicht2_1={0}", 0)); /// 37,94400 - logger.WriteLine(string.Format("Endgewicht2_1={0}", 0)); /// 37,94200 - logger.WriteLine(string.Format("Prüfmasse2_1={0}", 0)); /// -0,00200 - logger.WriteLine(string.Format("GegenWaage1={0}", 0)); /// 1 - /// - logger.WriteLine(string.Format("Q2_geprüft={0}", 1)); /// 1 - logger.WriteLine(string.Format("Prüfvolumen2={0}", 0)); /// 4,65370 - logger.WriteLine(string.Format("Prüfmasse2={0}", 0)); /// 4,64078 - logger.WriteLine(string.Format("Temp1_P2={0}", 0)); /// 19,9 - logger.WriteLine(string.Format("Temp2_P2={0}", 0)); /// 19,9 - logger.WriteLine(string.Format("Temp3_P2={0}", 0)); /// 19,9 - logger.WriteLine(string.Format("Temp4_P2={0}", 0)); /// 19,9 - logger.WriteLine(string.Format("Temp5_P2={0}", 0)); /// 19,9 - logger.WriteLine(string.Format("Temp6_P2={0}", 0)); /// 19,9 - logger.WriteLine(string.Format("Temp7_P2={0}", 0)); /// 0,0 - logger.WriteLine(string.Format("Temp8_P2={0}", 0)); /// 0,0 - logger.WriteLine(string.Format("Druck1_P2={0}", q2.TestRslt.PressUpMean.ToString(Program.AltCulture))); - logger.WriteLine(string.Format("Druck2_P2={0}", q2.TestRslt.PressDownMean.ToString(Program.AltCulture))); - logger.WriteLine(string.Format("K-Faktor2={0}", 0)); /// 0,99822140 - logger.WriteLine(string.Format("Q_Waage2={0}", 0)); /// 41,84627 - logger.WriteLine(string.Format("Q_Vergleich2={0}", 0)); /// 41,68738 - logger.WriteLine(string.Format("Fehler_Vergleich2={0}", 0)); /// -0,37970 - logger.WriteLine(string.Format("VZ_ZeitImpulse2={0}", 0)); /// 400,35379 - logger.WriteLine(string.Format("VZ_Impulse2={0}", 0)); /// 166897 - logger.WriteLine(string.Format("ZeitImpulse_VZ2={0}", 0)); /// 781941 - logger.WriteLine(string.Format("VorwahlZähler2={0}", 0)); /// 0,00000 - logger.WriteLine(string.Format("VZ_Nummer2={0}", 0)); /// 2 - logger.WriteLine(string.Format("Anfangsgewicht2={0}", 0)); /// 0,02457 - logger.WriteLine(string.Format("Endgewicht2={0}", 0)); /// 4,66535 - logger.WriteLine(string.Format("MinDurchfluss2={0}", 0)); /// 40,43333 - logger.WriteLine(string.Format("MaxDurchfluss2={0}", 0)); /// 42,23333 - logger.WriteLine(string.Format("Q_Einstellzeit2={0}", 0)); /// 3,80 - logger.WriteLine(string.Format("Pumpennummer2={0}", 0)); /// 3 - logger.WriteLine(string.Format("Drehzahl2={0}", 0)); /// 1743 - logger.WriteLine(string.Format("DAW_Wert2={0}", 0)); /// 500 - logger.WriteLine(string.Format("Leitfähigkeit2={0}", 0)); /// 543,10 - logger.WriteLine(string.Format("LuftDruck2={0}", 0)); /// 0,0 - logger.WriteLine(string.Format("LuftFeuchtigkeit2={0}", 0)); /// 0,0 - logger.WriteLine(string.Format("HyDruck2={0}", 0)); /// 6,2 - logger.WriteLine(string.Format("VorratsDruckHy2={0}", 0)); /// 6,3 - logger.WriteLine(string.Format("Anfangsgewicht2_2={0}", 0)); /// 37,95000 - logger.WriteLine(string.Format("Endgewicht2_2={0}", 0)); /// 37,94400 - logger.WriteLine(string.Format("Prüfmasse2_2={0}", 0)); /// -0,00600 - logger.WriteLine(string.Format("GegenWaage2={0}", 0)); /// 1 - /// - logger.WriteLine(string.Format("Q3_geprüft={0}", 1)); /// 1 - logger.WriteLine(string.Format("Prüfvolumen3={0}", 0)); /// 107,76493 - logger.WriteLine(string.Format("Prüfmasse3={0}", 0)); /// 107,46800 - logger.WriteLine(string.Format("Temp1_P3={0}", 0)); /// 19,8 - logger.WriteLine(string.Format("Temp2_P3={0}", 0)); /// 19,8 - logger.WriteLine(string.Format("Temp3_P3={0}", 0)); /// 19,8 - logger.WriteLine(string.Format("Temp4_P3={0}", 0)); /// 19,8 - logger.WriteLine(string.Format("Temp5_P3={0}", 0)); /// 19,8 - logger.WriteLine(string.Format("Temp6_P3={0}", 0)); /// 19,8 - logger.WriteLine(string.Format("Temp7_P3={0}", 0)); /// 0,0 - logger.WriteLine(string.Format("Temp8_P3={0}", 0)); /// 0,0 - logger.WriteLine(string.Format("Druck1_P3={0}", q3.TestRslt.PressUpMean.ToString(Program.AltCulture))); - logger.WriteLine(string.Format("Druck2_P3={0}", q3.TestRslt.PressDownMean.ToString(Program.AltCulture))); - logger.WriteLine(string.Format("K-Faktor3={0}", 0)); /// 0,99824190 - logger.WriteLine(string.Format("Q_Waage3={0}", 0)); /// 3874,27093 - logger.WriteLine(string.Format("Q_Vergleich3={0}", 0)); /// 3867,08324 - logger.WriteLine(string.Format("Fehler_Vergleich3={0}", 0)); /// -0,18552 - logger.WriteLine(string.Format("VZ_ZeitImpulse3={0}", 0)); /// 100,13594 - logger.WriteLine(string.Format("VZ_Impulse3={0}", 0)); /// 129078 - logger.WriteLine(string.Format("ZeitImpulse_VZ3={0}", 0)); /// 195578 - logger.WriteLine(string.Format("VorwahlZähler3={0}", 0)); /// 0,00000 - logger.WriteLine(string.Format("VZ_Nummer3={0}", 0)); /// 1 - logger.WriteLine(string.Format("Anfangsgewicht3={0}", 0)); /// 11,20800 - logger.WriteLine(string.Format("Endgewicht3={0}", 0)); /// 118,67600 - logger.WriteLine(string.Format("MinDurchfluss3={0}", 0)); /// 3862,00000 - logger.WriteLine(string.Format("MaxDurchfluss3={0}", 0)); /// 3872,00000 - logger.WriteLine(string.Format("Q_Einstellzeit3={0}", 0)); /// 26,37 - logger.WriteLine(string.Format("Pumpennummer3={0}", 0)); /// 2 - logger.WriteLine(string.Format("Drehzahl3={0}", 0)); /// 2269 - logger.WriteLine(string.Format("DAW_Wert3={0}", 0)); /// 1501 - logger.WriteLine(string.Format("Leitfähigkeit3={0}", 0)); /// 543,10 - logger.WriteLine(string.Format("LuftDruck3={0}", 0)); /// 0,0 - logger.WriteLine(string.Format("LuftFeuchtigkeit3={0}", 0)); /// 0,0 - logger.WriteLine(string.Format("HyDruck3={0}", 0)); /// 6,2 - logger.WriteLine(string.Format("VorratsDruckHy3={0}", 0)); /// 6,3 - logger.WriteLine(string.Format("Anfangsgewicht2_3={0}", 0)); /// 0,00818 - logger.WriteLine(string.Format("Endgewicht2_3={0}", 0)); /// 0,00800 - logger.WriteLine(string.Format("Prüfmasse2_3={0}", 0)); /// -0,00018 - logger.WriteLine(string.Format("GegenWaage3={0}", 0)); /// 1 - /// - logger.WriteLine(string.Format("Q4_geprüft={0}", 0)); /// 0 - /// - logger.WriteLine(string.Format("Q5_geprüft={0}", 0)); /// 0 + + for (int i = -5; i <= 5; i++) + { + Results.Entities.TestRslt tr; + + if (i == -1) tr = wm0.GetTestRslt("Adjustment"); + else if (i >= 1 && i <= 3) tr = wm0.GetTestRslt(string.Format("Q{0}", i)); + else tr = null; + + if (tr != null) + { + logger.WriteLine(string.Format("Q{0}_geprüft=1", i)); + WriteOneToDisk(logger, i, tr); + } + else + { + logger.WriteLine(string.Format("Q{0}_geprüft=0", i)); + } + } /// logger.WriteLine(string.Format("FüllenDruck={0}", 0)); /// 0,00 logger.WriteLine(string.Format("EvakVorneDruck={0}", 0)); /// 0,00 @@ -744,8 +589,8 @@ namespace TBF.BenchControl.DB.SensusOracle logger.WriteLine(string.Empty); logger.WriteLine("[allgemein]"); /// - logger.WriteLine(string.Format("Prüfer={0}", 6)); /// 1047 - logger.WriteLine(string.Format("PrüferID={0}", 6)); /// 246 + logger.WriteLine(string.Format("Prüfer={0}", batch.UserName)); + logger.WriteLine(string.Format("PrüferID={0}", batch.UserNumber)); logger.WriteLine(string.Format("AuftragKompakt={0}", 0)); /// 4248189 logger.WriteLine(string.Format("VariantenCode={0}", "IP")); /// IPRO04CMECAZDKAMMXB1AA2011201101AEUAA1XX314NM1XXXLX logger.WriteLine(string.Format("SollStückzahl={0}", 3)); /// 1000 @@ -777,6 +622,50 @@ namespace TBF.BenchControl.DB.SensusOracle } + static void WriteOneToDisk(StreamWriter logger, int i, Results.Entities.TestRslt tr) + { + logger.WriteLine(string.Format("Prüfvolumen{0}={1}", i, Config.Units.ConvertTo(Unit.l, tr.TestData.TargetVolume).ToString(Program.AltCulture))); + logger.WriteLine(string.Format("Prüfmasse{0}={1}", i, 0)); /// 3,72610 + logger.WriteLine(string.Format("Temp1_P{0}={1}", i, 0)); /// 20,0 + logger.WriteLine(string.Format("Temp2_P{0}={1}", i, 0)); /// 20,0 + logger.WriteLine(string.Format("Temp3_P{0}={1}", i, 0)); /// 20,0 + logger.WriteLine(string.Format("Temp4_P{0}={1}", i, 0)); /// 20,0 + logger.WriteLine(string.Format("Temp5_P{0}={1}", i, 0)); /// 20,0 + logger.WriteLine(string.Format("Temp6_P{0}={1}", i, 0)); /// 20,0 + logger.WriteLine(string.Format("Temp7_P{0}={1}", i, 0)); /// 0,0 + logger.WriteLine(string.Format("Temp8_P{0}={1}", i, 0)); /// 0,0 + logger.WriteLine(string.Format("Druck1_P{0}={1}", i, Config.Units.ConvertTo(Unit.bar, tr.PressUpMean).ToString(Program.AltCulture))); + logger.WriteLine(string.Format("Druck2_P{0}={1}", i, Config.Units.ConvertTo(Unit.bar, tr.PressDownMean).ToString(Program.AltCulture))); + logger.WriteLine(string.Format("K-Faktor{0}={1}", i, 0)); /// 0,99820080 + logger.WriteLine(string.Format("Q_Waage{0}={1}", i, 0)); /// 26,89887 + logger.WriteLine(string.Format("Q_Vergleich{0}={1}", i, 0)); /// 26,83427 + logger.WriteLine(string.Format("Fehler_Vergleich{0}={1}", i, 0)); /// -0,24014 + logger.WriteLine(string.Format("VZ_ZeitImpulse{0}={1}", i, 0)); /// 500,07962 + logger.WriteLine(string.Format("VZ_Impulse{0}={1}", i, 0)); /// 4473091 + logger.WriteLine(string.Format("ZeitImpulse_VZ{0}={1}", i, 0)); /// 976718 + logger.WriteLine(string.Format("VorwahlZähler{0}={1}", i, 0)); /// 0,00000 + logger.WriteLine(string.Format("VZ_Nummer{0}={1}", i, 0)); /// 3 + logger.WriteLine(string.Format("Anfangsgewicht{0}={1}", i, 0)); /// 4,66535 + logger.WriteLine(string.Format("Endgewicht{0}={1}", i, 0)); /// 8,39145 + logger.WriteLine(string.Format("MinDurchfluss{0}={1}", i, Config.Units.ConvertTo(Unit.lph, tr.FlowMin).ToString(Program.AltCulture))); + logger.WriteLine(string.Format("MaxDurchfluss{0}={1}", i, Config.Units.ConvertTo(Unit.lph, tr.FlowMax).ToString(Program.AltCulture))); + logger.WriteLine(string.Format("Q_Einstellzeit{0}={1}", i, 0)); /// 4,17 + logger.WriteLine(string.Format("Pumpennummer{0}={1}", i, 0)); /// 3 + logger.WriteLine(string.Format("Drehzahl{0}={1}", i, 0)); /// 1743 + logger.WriteLine(string.Format("DAW_Wert{0}={1}", i, 0)); /// 2700 + logger.WriteLine(string.Format("Leitfähigkeit{0}={1}", i, 0)); /// 543,10 + logger.WriteLine(string.Format("LuftDruck{0}={1}", i, 0)); /// 0,0 + logger.WriteLine(string.Format("LuftFeuchtigkeit{0}={1}", i, 0)); /// 0,0 + logger.WriteLine(string.Format("HyDruck{0}={1}", i, 0)); /// 6,2 + logger.WriteLine(string.Format("VorratsDruckHy{0}={1}", i, 0)); /// 6,3 + logger.WriteLine(string.Format("Anfangsgewicht2_{0}={1}", i, 0)); /// 37,94400 + logger.WriteLine(string.Format("Endgewicht2_{0}={1}", i, 0)); /// 37,94200 + logger.WriteLine(string.Format("Prüfmasse2_{0}={1}", i, 0)); /// -0,00200 + logger.WriteLine(string.Format("GegenWaage{0}={1}", i, 0)); /// 1 + } + + + #if ORACLE_DB public static Retv WriteResultsToDatabase(OracleConnection conn, Results.Entities.Batch batch, bool safeMode) { @@ -1075,18 +964,46 @@ namespace TBF.BenchControl.DB.SensusOracle } - foreach (var testInfo in testInfos) { - Results.Entities.MeterTestRslt mtr = wm.GetMeterTestRslt(testInfo.QBezeichnung); - if (mtr == null) + Results.Entities.TestData tData = wm.GetTestData(testInfo.QBezeichnung); + Results.Entities.MeterTestRslt mtr; + if (tData == null) { throw new Exception(string.Format("'{0}' test results missing, watermeter {1}", testInfo.QBezeichnung, wm.WMPosition)); } + else if (tData.Repeats == 1) + { + mtr = wm.GetMeterTestRslt(testInfo.QBezeichnung); + if (mtr == null) throw new Exception(string.Format("'{0}' test results missing, watermeter {1}", testInfo.QBezeichnung, wm.WMPosition)); + } + else + { + Results.Entities.MeterTestRslt firstMtr = wm.GetMeterTestRslt(Utils.TestTitle(tData, 1)); + if (firstMtr == null) throw new Exception(string.Format("'{0}' test results missing, watermeter {1}", Utils.TestTitle(tData, 1), wm.WMPosition)); + + mtr = new Results.Entities.MeterTestRslt(); + mtr.CopyContentFrom(firstMtr); + mtr.TestRslt = firstMtr.TestRslt; + mtr.WaterMeter = firstMtr.WaterMeter; + for (int i = 2; i <= tData.Repeats; i++) + { + Results.Entities.MeterTestRslt nextMtr = wm.GetMeterTestRslt(Utils.TestTitle(tData, i)); + if (nextMtr == null) throw new Exception(string.Format("'{0}' test results missing, watermeter {1}", Utils.TestTitle(tData, i), wm.WMPosition)); + + mtr.TestTime += nextMtr.TestTime; + mtr.VolumeMeter += nextMtr.VolumeMeter; + mtr.VolumeRef += nextMtr.VolumeRef; + mtr.VolumeEnd = nextMtr.VolumeEnd; + mtr.Passed = (mtr.Passed && nextMtr.Passed); + } + mtr.Error = Formulas.ErrorFromVolumes(mtr.VolumeMeter, mtr.VolumeRef); + } SaveMeterTestResult(conn, mtr, testInfo.PruefungsNr, max_Pruefindex); } + { double q2ErrWOCorrection = Math.Min(100.0, Math.Max(-100.0, wm.Q2ErrWOCorrection));