diff --git a/Results/Entities/Batch.cs b/Results/Entities/Batch.cs index afdc9a3a8..9a6e3031f 100644 --- a/Results/Entities/Batch.cs +++ b/Results/Entities/Batch.cs @@ -29,11 +29,6 @@ namespace Results.Entities public virtual float DensityCorr { get; set; } /// Density correction in [kg/m3] public virtual float Custom2 { get; set; } public virtual float Custom3 { 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; } public virtual int Counter6 { get; set; } public virtual int Counter7 { get; set; } public virtual int Counter8 { get; set; } diff --git a/Results/Entities/TestRslt.cs b/Results/Entities/TestRslt.cs index 2ee5ca233..fc93d8004 100644 --- a/Results/Entities/TestRslt.cs +++ b/Results/Entities/TestRslt.cs @@ -131,7 +131,13 @@ namespace Results.Entities 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; } + /// Wrappers public virtual string Name() { return Utils.GetTestName(TestData.Name, TestData.Repeats, RepetitionNr); } public virtual int Repeats() { return TestData.Repeats; } @@ -322,6 +328,7 @@ namespace Results.Entities FlowEnd = src.FlowEnd; FlowMin = src.FlowMin; FlowMax = src.FlowMax; + Custom1 = src.Custom1; Custom2 = src.Custom2; Custom3 = src.Custom3; @@ -332,6 +339,12 @@ namespace Results.Entities Custom8 = src.Custom8; Custom9 = src.Custom9; Custom10 = src.Custom10; + + Counter1 = src.Counter1; + Counter2 = src.Counter2; + Counter3 = src.Counter3; + Counter4 = src.Counter4; + Counter5 = src.Counter5; } /// Wrapper diff --git a/Results/Mappings/BatchMap.cs b/Results/Mappings/BatchMap.cs index 3382faf6b..25845ed47 100644 --- a/Results/Mappings/BatchMap.cs +++ b/Results/Mappings/BatchMap.cs @@ -26,16 +26,13 @@ namespace Results.Mappings .Column("Custom1"); ; Map(x => x.Custom2); Map(x => x.Custom3); - Map(x => x.Counter1); - Map(x => x.Counter2); - Map(x => x.Counter3); - Map(x => x.Counter4); - Map(x => x.Counter5); + Map(x => x.Counter6); Map(x => x.Counter7); Map(x => x.Counter8); Map(x => x.Counter9); Map(x => x.Counter10); + Map(x => x.StartTime); Map(x => x.EndTime); Map(x => x.Dirty); diff --git a/Results/Mappings/TestRsltMap.cs b/Results/Mappings/TestRsltMap.cs index 641da5139..3e33b4121 100644 --- a/Results/Mappings/TestRsltMap.cs +++ b/Results/Mappings/TestRsltMap.cs @@ -117,6 +117,12 @@ namespace Results.Mappings Map(x => x.Custom6); Map(x => x.Custom7); Map(x => x.Custom8); - } + + Map(x => x.Counter1); + Map(x => x.Counter2); + Map(x => x.Counter3); + Map(x => x.Counter4); + Map(x => x.Counter5); + } } } diff --git a/Results/Utils.cs b/Results/Utils.cs index 47c0e1c97..ec04fe7ad 100644 --- a/Results/Utils.cs +++ b/Results/Utils.cs @@ -91,16 +91,22 @@ namespace Results #endif } + public static void GetCounterStates(Results.Entities.TestRslt tstRslt, int[] counters) + { + if (tstRslt != null) + { + tstRslt.Counter1 = ((counters != null) && (counters.Length >= 1)) ? counters[0] : 0; + tstRslt.Counter2 = ((counters != null) && (counters.Length >= 2)) ? counters[1] : 0; + tstRslt.Counter3 = ((counters != null) && (counters.Length >= 3)) ? counters[2] : 0; + tstRslt.Counter4 = ((counters != null) && (counters.Length >= 4)) ? counters[3] : 0; + tstRslt.Counter5 = ((counters != null) && (counters.Length >= 5)) ? counters[4] : 0; + } + } public static void GetCounterStates(Results.Entities.Batch batch, int[] counters) { if (batch != null) { - batch.Counter1 = ((counters != null) && (counters.Length >= 1)) ? counters[0] : 0; - batch.Counter2 = ((counters != null) && (counters.Length >= 2)) ? counters[1] : 0; - batch.Counter3 = ((counters != null) && (counters.Length >= 3)) ? counters[2] : 0; - batch.Counter4 = ((counters != null) && (counters.Length >= 4)) ? counters[3] : 0; - batch.Counter5 = ((counters != null) && (counters.Length >= 5)) ? counters[4] : 0; batch.Counter6 = ((counters != null) && (counters.Length >= 6)) ? counters[5] : 0; batch.Counter7 = ((counters != null) && (counters.Length >= 7)) ? counters[6] : 0; batch.Counter8 = ((counters != null) && (counters.Length >= 8)) ? counters[7] : 0; diff --git a/Results/WMeterRsltItemSpec.cs b/Results/WMeterRsltItemSpec.cs index 92bfe2279..8d0c0d7e7 100644 --- a/Results/WMeterRsltItemSpec.cs +++ b/Results/WMeterRsltItemSpec.cs @@ -485,17 +485,96 @@ namespace Results AllItems.Add(new WMeterRsltItemSpec(ItemID.Table_row_nr, "Table row #", Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => string.IsNullOrEmpty(f) ? TableRowNr.ToString() : string.Format(f, TableRowNr))); AllItems.Add(new WMeterRsltItemSpec(ItemID.Table_column_nr, "Table column #", Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => string.IsNullOrEmpty(f) ? TableColumnNr.ToString() : string.Format(f, TableColumnNr))); AllItems.Add(new WMeterRsltItemSpec(ItemID.WMRemark, string.Format("{0} {1}", Strings.Water_Meter, Strings.Remark), Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => FormatStr(f, w.Remark))); - - AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter1, string.Format(Strings.Counter_0, 1), Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.Batch.Counter1))); - AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter2, string.Format(Strings.Counter_0, 2), Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.Batch.Counter2))); - AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter3, string.Format(Strings.Counter_0, 3), Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.Batch.Counter3))); - AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter4, string.Format(Strings.Counter_0, 4), Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.Batch.Counter4))); - AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter5, string.Format(Strings.Counter_0, 5), Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.Batch.Counter5))); - AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter6, string.Format(Strings.Counter_0, 6), Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.Batch.Counter6))); - AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter7, string.Format(Strings.Counter_0, 7), Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.Batch.Counter7))); - AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter8, string.Format(Strings.Counter_0, 8), Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.Batch.Counter8))); - AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter9, string.Format(Strings.Counter_0, 9), Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.Batch.Counter9))); - AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter10, string.Format(Strings.Counter_0, 10), Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => FormatInt(f, w.Batch.Counter10))); + + AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter1, + string.Format(Strings.Counter_0, 1), + Quantity.Number, + ItemCategory.Other, + (w, t, u, f, p) => + { + return (w.GetTestRslt(t) != null) ? FormatInt(f, w.GetTestRslt(t).Counter1) : string.Empty; + })); + + AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter2, + string.Format(Strings.Counter_0, 2), + Quantity.Number, + ItemCategory.Other, + (w, t, u, f, p) => + { + return (w.GetTestRslt(t) != null) ? FormatInt(f, w.GetTestRslt(t).Counter2) : string.Empty; + })); + + AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter3, + string.Format(Strings.Counter_0, 3), + Quantity.Number, + ItemCategory.Other, + (w, t, u, f, p) => + { + return (w.GetTestRslt(t) != null) ? FormatInt(f, w.GetTestRslt(t).Counter3) : string.Empty; + })); + + AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter4, + string.Format(Strings.Counter_0, 4), + Quantity.Number, + ItemCategory.Other, + (w, t, u, f, p) => + { + return (w.GetTestRslt(t) != null) ? FormatInt(f, w.GetTestRslt(t).Counter4) : string.Empty; + })); + + AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter5, + string.Format(Strings.Counter_0, 5), + Quantity.Number, + ItemCategory.Other, + (w, t, u, f, p) => + { + return (w.GetTestRslt(t) != null) ? FormatInt(f, w.GetTestRslt(t).Counter5) : string.Empty; + })); + + AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter6, + string.Format(Strings.Counter_0, 6), + Quantity.Number, + ItemCategory.TestResult, + (w, t, u, f, p) => + { + return FormatInt(f, w.Batch.Counter6); + })); + + AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter7, + string.Format(Strings.Counter_0, 7), + Quantity.Number, + ItemCategory.TestResult, + (w, t, u, f, p) => + { + return FormatInt(f, w.Batch.Counter7); + })); + + AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter8, + string.Format(Strings.Counter_0, 8), + Quantity.Number, + ItemCategory.TestResult, + (w, t, u, f, p) => + { + return FormatInt(f, w.Batch.Counter8); + })); + + AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter9, + string.Format(Strings.Counter_0, 9), + Quantity.Number, + ItemCategory.TestResult, + (w, t, u, f, p) => + { + return FormatInt(f, w.Batch.Counter9); + })); + + AllItems.Add(new WMeterRsltItemSpec(ItemID.Counter10, + string.Format(Strings.Counter_0, 10), + Quantity.Number, + ItemCategory.TestResult, + (w, t, u, f, p) => + { + return FormatInt(f, w.Batch.Counter10); + })); } /// To be updated by Output.FileWriter or Output.Printer diff --git a/TBF/BenchControl/TestMethods/Counter/CounterSeq.cs b/TBF/BenchControl/TestMethods/Counter/CounterSeq.cs index 72321e634..2d3d75c2d 100644 --- a/TBF/BenchControl/TestMethods/Counter/CounterSeq.cs +++ b/TBF/BenchControl/TestMethods/Counter/CounterSeq.cs @@ -37,7 +37,14 @@ namespace TBF.BenchControl.TestMethods.Counter TBF.UiBridge.Bridge.OnSaveSettings(this, null); /// Update results - Bridge.OnTestCompleted(this, new TestCompletedEventArgs(Results.Utils.GetTestName(test.Name, test.Repeats, repetitionNr), null)); + var testName = Results.Utils.GetTestName(test.Name, test.Repeats, repetitionNr); + var testResults = BatchRslts.GetTestRslt(testName, test.Part); + global::Results.Utils.GetCounterStates(testResults, Program.LocalSettings.Counters); + if (testResults != null) + { + testResults.TestDone = true; + } + Bridge.OnTestCompleted(this, new TestCompletedEventArgs(testName, testResults)); return new List { Event.Done }; }