diff --git a/Results/Entities/Batch.cs b/Results/Entities/Batch.cs index bba5e05d9..771ff25da 100644 --- a/Results/Entities/Batch.cs +++ b/Results/Entities/Batch.cs @@ -107,13 +107,61 @@ namespace Results.Entities return (timeSum == 0) ? 0 : (sum / timeSum); } - public virtual double AmbTempStart() { return (TestRslts.Count > 0) ? TestRslts[0].AmbTempStart : 0; } - public virtual double AmbPressStart() { return (TestRslts.Count > 0) ? TestRslts[0].AmbPressStart : 0; } - public virtual double AmbHumiStart() { return (TestRslts.Count > 0) ? TestRslts[0].AmbHumiStart : 0; } + public virtual double AmbTempStart() + { + for (int i = 0; i < TestRslts.Count; i++) + { + if (TestRslts[i].Publish() == Config.Entities.Publish.Always) + return TestRslts[i].AmbTempStart; + } + return 0; + } + public virtual double AmbPressStart() + { + for (int i = 0; i < TestRslts.Count; i++) + { + if (TestRslts[i].Publish() == Config.Entities.Publish.Always) + return TestRslts[i].AmbPressStart; + } + return 0; + } + public virtual double AmbHumiStart() + { + for (int i = 0; i < TestRslts.Count; i++) + { + if (TestRslts[i].Publish() == Config.Entities.Publish.Always) + return TestRslts[i].AmbHumiStart; + } + return 0; + } - public virtual double AmbTempEnd() { return (TestRslts.Count > 0) ? TestRslts[TestRslts.Count - 1].AmbTempEnd : 0; } - public virtual double AmbPressEnd() { return (TestRslts.Count > 0) ? TestRslts[TestRslts.Count - 1].AmbPressEnd : 0; } - public virtual double AmbHumiEnd() { return (TestRslts.Count > 0) ? TestRslts[TestRslts.Count - 1].AmbHumiEnd : 0; } + public virtual double AmbTempEnd() + { + for (int i = TestRslts.Count - 1; i >= 0; i++) + { + if (TestRslts[i].Publish() == Config.Entities.Publish.Always) + return TestRslts[i].AmbTempEnd; + } + return 0; + } + public virtual double AmbPressEnd() + { + for (int i = TestRslts.Count - 1; i >= 0; i++) + { + if (TestRslts[i].Publish() == Config.Entities.Publish.Always) + return TestRslts[i].AmbPressEnd; + } + return 0; + } + public virtual double AmbHumiEnd() + { + for (int i = TestRslts.Count - 1; i >= 0; i++) + { + if (TestRslts[i].Publish() == Config.Entities.Publish.Always) + return TestRslts[i].AmbHumiEnd; + } + return 0; + } public virtual double Buoyancy() { diff --git a/Results/WMeterRsltItemSpec.cs b/Results/WMeterRsltItemSpec.cs index 798b0f0af..c6ed863df 100644 --- a/Results/WMeterRsltItemSpec.cs +++ b/Results/WMeterRsltItemSpec.cs @@ -459,7 +459,7 @@ namespace Results public static string FormatDbl(Config.Unit units, string format, string precisionOrEmpty, string dfltPrecision, double v1, double v2, CultureInfo ci) { double val1 = Config.Units.ConvertTo(units, v1); - double val2 = Config.Units.ConvertTo(units, v1); + double val2 = Config.Units.ConvertTo(units, v2); string precision = string.IsNullOrEmpty(precisionOrEmpty) ? dfltPrecision : precisionOrEmpty;