diff --git a/Results/Entities/Batch.cs b/Results/Entities/Batch.cs index d38f85729..f074f81ea 100644 --- a/Results/Entities/Batch.cs +++ b/Results/Entities/Batch.cs @@ -41,6 +41,18 @@ namespace Results.Entities TestRslts = new List(); } + public virtual int PassedMetersCount() + { + int count = 0; + foreach (var mtr in WaterMeters) if (mtr.PassedFromTests()) count++; + return count; + } + + public virtual int FailedMetersCount() + { + return WaterMeters.Count - PassedMetersCount(); + } + public virtual double AmbTempMean() { double timeSum = 0; diff --git a/Results/ItemID.cs b/Results/ItemID.cs index bbc456ae9..ffe49ed10 100644 --- a/Results/ItemID.cs +++ b/Results/ItemID.cs @@ -172,7 +172,10 @@ namespace Results WMRemark, /// 153 User_description, /// 154 - Legalizator, + Legalizator, /// 155 + + Passed_meters_count, /// 156B + Failed_meters_count, Count, } diff --git a/Results/Resources/Strings.Designer.cs b/Results/Resources/Strings.Designer.cs index 09380a68d..d12c2bc19 100644 --- a/Results/Resources/Strings.Designer.cs +++ b/Results/Resources/Strings.Designer.cs @@ -348,6 +348,15 @@ namespace Results.Resources { } } + /// + /// Looks up a localized string similar to Failed meters count. + /// + internal static string Failed_meters_count { + get { + return ResourceManager.GetString("Failed_meters_count", resourceCulture); + } + } + /// /// Looks up a localized string similar to fall. /// @@ -582,6 +591,15 @@ namespace Results.Resources { } } + /// + /// Looks up a localized string similar to Passed meters count. + /// + internal static string Passed_meters_count { + get { + return ResourceManager.GetString("Passed_meters_count", resourceCulture); + } + } + /// /// Looks up a localized string similar to PO. /// diff --git a/Results/Resources/Strings.resx b/Results/Resources/Strings.resx index cb9fb89f6..39179f6a7 100644 --- a/Results/Resources/Strings.resx +++ b/Results/Resources/Strings.resx @@ -636,4 +636,10 @@ User description + + Failed meters count + + + Passed meters count + \ No newline at end of file diff --git a/Results/WMeterRsltItemSpec.cs b/Results/WMeterRsltItemSpec.cs index ac1845eae..5ae7749ce 100644 --- a/Results/WMeterRsltItemSpec.cs +++ b/Results/WMeterRsltItemSpec.cs @@ -326,6 +326,9 @@ namespace Results AllItems.Add(new WMeterRsltItemSpec(ItemID.Batch_end_time, Strings.End, Quantity.DateTime, ItemCategory.Other, (w, t, u, f, p) => string.IsNullOrEmpty(f) ? w.Batch.EndTime.ToString() : string.Format(f, w.Batch.EndTime))); AllItems.Add(new WMeterRsltItemSpec(ItemID.Lite_per_pulse_Read, "1 / PlsPerLtr_Read", Quantity.PulsePerLtr, ItemCategory.Other, (w, t, u, f, p) => string.IsNullOrEmpty(p) ? ((w.WaterMeterData.PulsesPerLtr != 0) ? 1 / w.WaterMeterData.PulsesPerLtr : 0).ToString() : ((w.WaterMeterData.PulsesPerLtr != 0) ? 1 / w.WaterMeterData.PulsesPerLtr : 0).ToString(p))); + AllItems.Add(new WMeterRsltItemSpec(ItemID.Passed_meters_count, Strings.Passed_meters_count, Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => w.Batch.PassedMetersCount().ToString())); + AllItems.Add(new WMeterRsltItemSpec(ItemID.Failed_meters_count, Strings.Failed_meters_count, Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => w.Batch.FailedMetersCount().ToString())); + /// Extra water meter data AllItems.Add(new WMeterRsltItemSpec(ItemID.Result_code, Strings.Result_code, Quantity.Number, ItemCategory.MeterResult, (w, t, u, f, p) => string.IsNullOrEmpty(f) ? w.ResultCode.ToString() : string.Format(f, w.ResultCode))); AllItems.Add(new WMeterRsltItemSpec(ItemID.Remark, Strings.Remark, Quantity.String, ItemCategory.TestResult, (w, t, u, f, p) => w.Batch.Remark));