Buoyancy WMeterRsltItemSpec fixed, evaluated also for a complete batch, ver. 2.14.598
This commit is contained in:
@@ -83,6 +83,21 @@ namespace Results.Entities
|
||||
sum += (tr.AmbHumiMean * time);
|
||||
}
|
||||
|
||||
return (timeSum == 0) ? 0 : (sum / timeSum);
|
||||
}
|
||||
|
||||
public virtual double Buoyancy()
|
||||
{
|
||||
double timeSum = 0;
|
||||
double sum = 0;
|
||||
|
||||
foreach (var tr in TestRslts)
|
||||
{
|
||||
double time = (tr.EndTime - tr.StartTime).TotalSeconds;
|
||||
timeSum += time;
|
||||
sum += (tr.Buoyancy * time);
|
||||
}
|
||||
|
||||
return (timeSum == 0) ? 0 : (sum / timeSum);
|
||||
}
|
||||
|
||||
|
||||
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("2.14.597.0")]
|
||||
[assembly: AssemblyFileVersion("2.14.597.0")]
|
||||
[assembly: AssemblyVersion("2.14.598.0")]
|
||||
[assembly: AssemblyFileVersion("2.14.598.0")]
|
||||
|
||||
@@ -231,13 +231,12 @@ namespace Results
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.P_delta_avg, string.Format("{0} DE avg ()", Strings.VName_Press), Strings.Tooltip_P_de_avg, Quantity.Pressure, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : Config.Units.ConvertTo(u, (w.GetTestRslt(t).PressDeltaStart + w.GetTestRslt(t).PressDeltaEnd) / 2).ToString(GetPr(p, "F3"))));
|
||||
|
||||
///
|
||||
/// Ambient temperature/pressure/humidity
|
||||
/// Ambient temperature/pressure/humidity/Buoyancy
|
||||
///
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Ambient_temperature, string.Format("{0} Amb M", Strings.VName_Temp), Strings.Tooltip_T_Amb_M, Quantity.Temperature, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? Config.Units.ConvertTo(u, w.Batch.AmbTempMean()).ToString(GetPr(p, "F1")) : Config.Units.ConvertTo(u, w.GetTestRslt(t).AmbTempMean).ToString(GetPr(p, "F1"))));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Ambient_pressure, string.Format("{0} Amb M", Strings.VName_Press), Strings.Tooltip_P_Amb_M, Quantity.Pressure, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? Config.Units.ConvertTo(u, w.Batch.AmbPressMean()).ToString(GetPr(p, "F0")) : Config.Units.ConvertTo(u, w.GetTestRslt(t).AmbPressMean).ToString(GetPr(p, "F0"))));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Ambient_humidity, string.Format("{0} Amb M", Strings.VName_Humi), Strings.Tooltip_Hu_Amb_M, Quantity.Humidity, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? Config.Units.ConvertTo(u, w.Batch.AmbHumiMean()).ToString(GetPr(p, "F1")) : Config.Units.ConvertTo(u, w.GetTestRslt(t).AmbHumiMean).ToString(GetPr(p, "F1"))));
|
||||
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Buoyancy, "Buoyancy", Quantity.Number, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : w.GetTestRslt(t).Buoyancy.ToString(GetPr(p, "F2"))));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Buoyancy, "Buoyancy ()", Quantity.Number, ItemCategory.TestResult, (w, t, u, f, p) => string.IsNullOrEmpty(t) ? w.Batch.Buoyancy().ToString(GetPr(p, "F2")) : ((w.GetTestRslt(t) != null) ? w.GetTestRslt(t).Buoyancy.ToString(GetPr(p, "F2")) : "")));
|
||||
|
||||
///
|
||||
/// Error
|
||||
@@ -388,14 +387,44 @@ namespace Results
|
||||
{
|
||||
try
|
||||
{
|
||||
if (strArray[i].Contains("~"))
|
||||
WMeterRsltItemSpec item;
|
||||
string[] field = strArray[i].Split(new char[] { '~' });
|
||||
|
||||
if (!strArray[i].Contains("~"))
|
||||
{
|
||||
///
|
||||
/// Old style results item specification -> convert it
|
||||
///
|
||||
bool added = false;
|
||||
foreach (var it in AllItems)
|
||||
{
|
||||
if (strArray[i].Equals(it.OldUid))
|
||||
{
|
||||
item = it.Clone();
|
||||
item.Caption = item.Name.Replace("()", "").Replace(" *", "");
|
||||
item.Units = 0; /// use default units
|
||||
item.Format = null; /// the same like format string "{0}"
|
||||
item.Precision = null;
|
||||
item.Width = 0; /// do not ad any extra spaces
|
||||
item.Alignment = Alignment.Left;
|
||||
result.Add(item);
|
||||
added = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!added)
|
||||
{
|
||||
item = GetItem(0);
|
||||
item.Caption = "Prs.Err.";
|
||||
item.Format = string.Format("Parse error: {0}", strArray[i]);
|
||||
result.Add(item);
|
||||
}
|
||||
}
|
||||
else if ((item = GetItem(int.Parse(field[0]))) != null)
|
||||
{
|
||||
///
|
||||
/// Load the new style results item specification
|
||||
///
|
||||
string[] field = strArray[i].Split(new char[] { '~' });
|
||||
WMeterRsltItemSpec item = GetItem(int.Parse(field[0]));
|
||||
|
||||
item.Caption = field[1];
|
||||
item.TestID = field[2];
|
||||
item.Units = 0;
|
||||
@@ -414,36 +443,16 @@ namespace Results
|
||||
|
||||
result.Add(item);
|
||||
}
|
||||
else
|
||||
{
|
||||
///
|
||||
/// Try to load the old style results item specification
|
||||
///
|
||||
bool added = false;
|
||||
foreach (var it in AllItems)
|
||||
{
|
||||
if (strArray[i].Equals(it.OldUid))
|
||||
{
|
||||
WMeterRsltItemSpec item = it.Clone();
|
||||
item.Caption = item.Name.Replace("()", "").Replace(" *", "");
|
||||
item.Units = 0; /// use default units
|
||||
item.Format = null; /// the same like format string "{0}"
|
||||
item.Precision = null;
|
||||
item.Width = 0; /// do not ad any extra spaces
|
||||
item.Alignment = Alignment.Left;
|
||||
result.Add(item);
|
||||
added = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!added)
|
||||
{
|
||||
WMeterRsltItemSpec item = GetItem(0);
|
||||
item.Caption = "Prs.Err.";
|
||||
item.Format = string.Format("Parse error: {0}", strArray[i]);
|
||||
result.Add(item);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
///
|
||||
/// Create an item with parse error information
|
||||
///
|
||||
WMeterRsltItemSpec item2 = GetItem(0);
|
||||
item2.Caption = "Prs.Err.";
|
||||
item2.Format = string.Format("Parse error: {0}", strArray[i]);
|
||||
result.Add(item2);
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user