Units for DN and L added (mm, cm, m, inch), WMeterRsltsItemSpec-s for many new output values added.

This commit is contained in:
Milan Hanajik 2016-05-02 15:26:14 +02:00
parent 6a4dff5cbc
commit 28b78c1345
2 changed files with 101 additions and 64 deletions

View File

@ -27,6 +27,10 @@ namespace Config
inHg, /// 1 inHg = 33.864 hPa
Pct, /// 1 %
Promile, /// 1 promile = 0.1 %
mm, /// 1 millimeter
cm, /// 1 cm = 10 mm
m, /// 1 m = 1000 mm
inch, /// 1 inch = 25.4 mm
Count
}
@ -37,35 +41,41 @@ namespace Config
switch (units)
{
/// Volume: internal representation in l
case Unit.l: return v; /// 1 liter
case Unit.m3: return 0.001 * v; /// 1000 l
case Unit.gal_UK: return 0.21996925 * v; /// 1 gal(UK) = 4.54609 l
case Unit.gal_US: return 0.26417205 * v; /// 1 gal(US) = 3.78541178 l
case Unit.l: return v; /// 1 liter
case Unit.m3: return 0.001 * v; /// 1000 l
case Unit.gal_UK: return 0.21996925 * v; /// 1 gal(UK) = 4.54609 l
case Unit.gal_US: return 0.26417205 * v; /// 1 gal(US) = 3.78541178 l
/// Flow: internal representation in m3/h
case Unit.lph: return 1000 * v; /// 1 liter/h
case Unit.m3ph: return v; /// 1 m3/h = 1000 l/h
case Unit.lph: return 1000 * v; /// 1 liter/h
case Unit.m3ph: return v; /// 1 m3/h = 1000 l/h
/// Mass: internal representation in kg
case Unit.g: return 1000 * v; /// 1 g = 0.001 kg
case Unit.kg: return v; /// 1 kilogram
case Unit.t: return 0.001 * v; /// 1 t = 1000 kg
case Unit.lb: return 2.2046226 * v; /// 1 lb = 0.45359237 kg
case Unit.g: return 1000 * v; /// 1 g = 0.001 kg
case Unit.kg: return v; /// 1 kilogram
case Unit.t: return 0.001 * v; /// 1 t = 1000 kg
case Unit.lb: return 2.2046226 * v; /// 1 lb = 0.45359237 kg
/// Temperature: internal representation in degree C
case Unit.C: return v; /// degree Celsius
case Unit.F: return 1.8 * v + 32; /// degree Fahrenheit
case Unit.K: return v + 273.15; /// degree Kelvin
case Unit.C: return v; /// degree Celsius
case Unit.F: return 1.8 * v + 32; /// degree Fahrenheit
case Unit.K: return v + 273.15; /// degree Kelvin
/// Pressure: internal representation in hPa (???)
case Unit.hPa: return v; /// 1 hPa = 100 Pa
case Unit.mBar: return v; /// 1 mbar = 1 hPa = 100 Pa
case Unit.Bar: return 0.001 * v; /// 1 Bar = 1000 mbar = 100000 Pa
case Unit.inHg: return 0.02953 * v; /// 1 inHg = 33.864 hPa
case Unit.hPa: return v; /// 1 hPa = 100 Pa
case Unit.mBar: return v; /// 1 mbar = 1 hPa = 100 Pa
case Unit.Bar: return 0.001 * v; /// 1 Bar = 1000 mbar = 100000 Pa
case Unit.inHg: return 0.02953 * v; /// 1 inHg = 33.864 hPa
/// Error: internal representation in %
case Unit.Pct: return v; /// 1 %
case Unit.Promile: return 10 * v; /// 1 promile = 0.1 %
case Unit.Pct: return v; /// 1 %
case Unit.Promile: return 10 * v; /// 1 promile = 0.1 %
/// Diameter, length: internal representation in mm
case Unit.mm: return v; /// 1 mm
case Unit.cm: return 0.1 * v; /// 1 cm = 10 mm
case Unit.m: return 0.001 * v; /// 1 m = 1000 mm
case Unit.inch: return v / 25.4; /// 1 inch = 25.4 mm
default: return v;
}
@ -76,35 +86,41 @@ namespace Config
switch (units)
{
/// Volume: internal representation in l
case Unit.l: return v; /// 1 liter
case Unit.m3: return 1000 * v; /// 1000 l
case Unit.gal_UK: return 4.54609 * v; /// 1 gal(UK) = 4.54609 l
case Unit.gal_US: return 3.78541178 * v; /// 1 gal(US) = 3.78541178 l
case Unit.l: return v; /// 1 liter
case Unit.m3: return 1000 * v; /// 1000 l
case Unit.gal_UK: return 4.54609 * v; /// 1 gal(UK) = 4.54609 l
case Unit.gal_US: return 3.78541178 * v; /// 1 gal(US) = 3.78541178 l
/// Flow: internal representation in m3/h
case Unit.lph: return 0.001 * v; /// 1 liter/h
case Unit.m3ph: return v; /// 1 m3/h = 1000 l/h
case Unit.lph: return 0.001 * v; /// 1 liter/h
case Unit.m3ph: return v; /// 1 m3/h = 1000 l/h
/// Mass: internal representation in kg
case Unit.g: return 0.001 * v; /// 1 g = 0.001 kg
case Unit.kg: return v; /// 1 kilogram
case Unit.t: return 1000 * v; /// 1 t = 1000 kg
case Unit.lb: return 0.45359237 * v; /// 1 lb = 0.45359237 kg
case Unit.g: return 0.001 * v; /// 1 g = 0.001 kg
case Unit.kg: return v; /// 1 kilogram
case Unit.t: return 1000 * v; /// 1 t = 1000 kg
case Unit.lb: return 0.45359237 * v; /// 1 lb = 0.45359237 kg
/// Temperature: internal representation in degree C
case Unit.C: return v; /// degree Celsius
case Unit.F: return 5 * (v - 32) / 9; /// degree Fahrenheit
case Unit.K: return v - 273.15; /// degree Kelvin
case Unit.C: return v; /// degree Celsius
case Unit.F: return 5 * (v-32) / 9; /// degree Fahrenheit
case Unit.K: return v - 273.15; /// degree Kelvin
/// Pressure: internal representation in hPa (???)
case Unit.hPa: return v; /// 1 hPa = 100 Pa
case Unit.mBar: return v; /// 1 mbar = 1 hPa = 100 Pa
case Unit.Bar: return 1000 * v; /// 1 Bar = 1000 mbar = 100000 Pa
case Unit.inHg: return 33.864 * v; /// 1 inHg = 33.864 hPa
case Unit.hPa: return v; /// 1 hPa = 100 Pa
case Unit.mBar: return v; /// 1 mbar = 1 hPa = 100 Pa
case Unit.Bar: return 1000 * v; /// 1 Bar = 1000 mbar = 100000 Pa
case Unit.inHg: return 33.864 * v; /// 1 inHg = 33.864 hPa
/// Error: internal representation in %
case Unit.Pct: return v; /// 1 %
case Unit.Promile: return 0.1 * v; /// 1 promile = 0.1 %
case Unit.Pct: return v; /// 1 %
case Unit.Promile: return 0.1 * v; /// 1 promile = 0.1 %
/// Diameter, length: internal representation in mm
case Unit.mm: return v; /// 1 mm
case Unit.cm: return 10 * v; /// 1 cm = 10 mm
case Unit.m: return 1000 * v; /// 1 m = 1000 mm
case Unit.inch: return 25.4 * v; /// 1 inch = 25.4 mm
default: return v;
}

View File

@ -139,44 +139,65 @@ namespace Results
/// Water meter info
AllItems.Add(new WMeterRsltItemSpec(33, "Watermeter type", (w, t, u, f, p) => w.WaterMeterData.ProductName));
AllItems.Add(new WMeterRsltItemSpec(34, "Producer", (w, t, u, f, p) => w.WaterMeterData.Producer));
AllItems.Add(new WMeterRsltItemSpec(35, "Metrological class", (w, t, u, f, p) => w.WaterMeterData.MetrologicalClass));
AllItems.Add(new WMeterRsltItemSpec(36, "Approval info", (w, t, u, f, p) => w.WaterMeterData.ApprovalInfo));
AllItems.Add(new WMeterRsltItemSpec(36, "Certificate", (w, t, u, f, p) => w.WaterMeterData.Certificate));
AllItems.Add(new WMeterRsltItemSpec(35, "Temperature class", (w, t, u, f, p) => w.WaterMeterData.MetrologicalClass));
AllItems.Add(new WMeterRsltItemSpec(37, "Q4_Qmax", (w, t, u, f, p) => string.IsNullOrEmpty(p) ? Config.Units.ConvertTo(u, w.WaterMeterData.Q4_Qmax).ToString()
AllItems.Add(new WMeterRsltItemSpec(35, "DN", (w, t, u, f, p) => string.IsNullOrEmpty(p) ? Config.Units.ConvertTo(u, w.WaterMeterData.DN).ToString()
: Config.Units.ConvertTo(u, w.WaterMeterData.DN).ToString(p)));
AllItems.Add(new WMeterRsltItemSpec(36, "L", (w, t, u, f, p) => string.IsNullOrEmpty(p) ? Config.Units.ConvertTo(u, w.WaterMeterData.L).ToString()
: Config.Units.ConvertTo(u, w.WaterMeterData.L).ToString(p)));
AllItems.Add(new WMeterRsltItemSpec(37, "Mounting", (w, t, u, f, p) => w.WaterMeterData.Mounting.ToString()));
AllItems.Add(new WMeterRsltItemSpec(38, "Q4_Qmax", (w, t, u, f, p) => string.IsNullOrEmpty(p) ? Config.Units.ConvertTo(u, w.WaterMeterData.Q4_Qmax).ToString()
: Config.Units.ConvertTo(u, w.WaterMeterData.Q4_Qmax).ToString(p)));
AllItems.Add(new WMeterRsltItemSpec(38, "Q3_Qn", (w, t, u, f, p) => string.IsNullOrEmpty(p) ? Config.Units.ConvertTo(u, w.WaterMeterData.Q3_Qn).ToString()
AllItems.Add(new WMeterRsltItemSpec(39, "Q3_Qn", (w, t, u, f, p) => string.IsNullOrEmpty(p) ? Config.Units.ConvertTo(u, w.WaterMeterData.Q3_Qn).ToString()
: Config.Units.ConvertTo(u, w.WaterMeterData.Q3_Qn).ToString(p)));
AllItems.Add(new WMeterRsltItemSpec(39, "Q2_Qt", (w, t, u, f, p) => string.IsNullOrEmpty(p) ? Config.Units.ConvertTo(u, w.WaterMeterData.Q2_Qt).ToString()
AllItems.Add(new WMeterRsltItemSpec(40, "Q2_Qt", (w, t, u, f, p) => string.IsNullOrEmpty(p) ? Config.Units.ConvertTo(u, w.WaterMeterData.Q2_Qt).ToString()
: Config.Units.ConvertTo(u, w.WaterMeterData.Q2_Qt).ToString(p)));
AllItems.Add(new WMeterRsltItemSpec(40, "Q1_Qmin", (w, t, u, f, p) => string.IsNullOrEmpty(p) ? Config.Units.ConvertTo(u, w.WaterMeterData.Q1_Qmin).ToString()
AllItems.Add(new WMeterRsltItemSpec(41, "Q1_Qmin", (w, t, u, f, p) => string.IsNullOrEmpty(p) ? Config.Units.ConvertTo(u, w.WaterMeterData.Q1_Qmin).ToString()
: Config.Units.ConvertTo(u, w.WaterMeterData.Q1_Qmin).ToString(p)));
AllItems.Add(new WMeterRsltItemSpec(42, "Metrological class", (w, t, u, f, p) => w.WaterMeterData.MetrologicalClass));
AllItems.Add(new WMeterRsltItemSpec(43, "Temperature class", (w, t, u, f, p) => w.WaterMeterData.TemperatureClass.ToString()));
AllItems.Add(new WMeterRsltItemSpec(44, "Preasure loss class", (w, t, u, f, p) => w.WaterMeterData.PressureLossClass.ToString()));
AllItems.Add(new WMeterRsltItemSpec(45, "Max. admissible p[ressure", (w, t, u, f, p) => w.WaterMeterData.MaxAdmissiblePressure.ToString()));
AllItems.Add(new WMeterRsltItemSpec(46, "Flow profile sensitivity class", (w, t, u, f, p) => w.WaterMeterData.FlowProfileSensitivityClass.ToString()));
AllItems.Add(new WMeterRsltItemSpec(47, "Approval info", (w, t, u, f, p) => w.WaterMeterData.ApprovalInfo));
AllItems.Add(new WMeterRsltItemSpec(48, "Certificate", (w, t, u, f, p) => w.WaterMeterData.Certificate));
AllItems.Add(new WMeterRsltItemSpec(49, "PulsesPerLtr_Read", (w, t, u, f, p) => string.IsNullOrEmpty(p) ? w.WaterMeterData.PulsesPerLtr.ToString()
: w.WaterMeterData.PulsesPerLtr.ToString(p)));
AllItems.Add(new WMeterRsltItemSpec(50, "Text1", (w, t, u, f, p) => w.WaterMeterData.Text1));
AllItems.Add(new WMeterRsltItemSpec(51, "Text2", (w, t, u, f, p) => w.WaterMeterData.Text2));
AllItems.Add(new WMeterRsltItemSpec(52, "Text3", (w, t, u, f, p) => w.WaterMeterData.Text3));
AllItems.Add(new WMeterRsltItemSpec(53, "Text4", (w, t, u, f, p) => w.WaterMeterData.Text4));
AllItems.Add(new WMeterRsltItemSpec(54, "Text5", (w, t, u, f, p) => w.WaterMeterData.Text5));
/// Water meters results
AllItems.Add(new WMeterRsltItemSpec(41, "Serial Nr", (w, t, u, f, p) => w.SerialNr));
AllItems.Add(new WMeterRsltItemSpec(42, "Purchase order", (w, t, u, f, p) => w.PurchaseOrder));
AllItems.Add(new WMeterRsltItemSpec(43, "Year of production", (w, t, u, f, p) => w.YearOfProduction.ToString()));
AllItems.Add(new WMeterRsltItemSpec(44, "WM Position", (w, t, u, f, p) => w.WMPosition.ToString()));
AllItems.Add(new WMeterRsltItemSpec(55, "Serial Nr", (w, t, u, f, p) => w.SerialNr));
AllItems.Add(new WMeterRsltItemSpec(56, "Purchase order", (w, t, u, f, p) => w.PurchaseOrder));
AllItems.Add(new WMeterRsltItemSpec(57, "Year of production", (w, t, u, f, p) => w.YearOfProduction.ToString()));
AllItems.Add(new WMeterRsltItemSpec(58, "WM Position", (w, t, u, f, p) => w.WMPosition.ToString()));
/// Water meters results (single)
AllItems.Add(new WMeterRsltItemSpec(45, "End state", (w, t, u, f, p) => w.EndState));
AllItems.Add(new WMeterRsltItemSpec(46, "Pulses", (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "" : w.GetMeterTestRslt(t).PulsesMeter.ToString()));
AllItems.Add(new WMeterRsltItemSpec(47, "Pulses/liter", (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "" : (string.IsNullOrEmpty(p) ? w.GetMeterTestRslt(t).PulsesPerLiter.ToString()
AllItems.Add(new WMeterRsltItemSpec(59, "End state", (w, t, u, f, p) => w.EndState));
AllItems.Add(new WMeterRsltItemSpec(60, "Pulses", (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "" : w.GetMeterTestRslt(t).PulsesMeter.ToString()));
AllItems.Add(new WMeterRsltItemSpec(61, "Pulses/liter", (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "" : (string.IsNullOrEmpty(p) ? w.GetMeterTestRslt(t).PulsesPerLiter.ToString()
: w.GetMeterTestRslt(t).PulsesPerLiter.ToString(p))));
AllItems.Add(new WMeterRsltItemSpec(48, "Reference pulses", (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "" : w.GetMeterTestRslt(t).PulsesMaster.ToString()));
AllItems.Add(new WMeterRsltItemSpec(62, "Reference pulses", (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "" : w.GetMeterTestRslt(t).PulsesMaster.ToString()));
/// Batch info
AllItems.Add(new WMeterRsltItemSpec(49, "Batch number", (w, t, u, f, p) => w.Batch.BatchNr.ToString()));
AllItems.Add(new WMeterRsltItemSpec(50, "Test bench ID", (w, t, u, f, p) => w.Batch.TestBenchId.ToString()));
AllItems.Add(new WMeterRsltItemSpec(51, "Program version", (w, t, u, f, p) => w.Batch.ProgramVersion));
AllItems.Add(new WMeterRsltItemSpec(52, "User name", (w, t, u, f, p) => w.Batch.UserName));
AllItems.Add(new WMeterRsltItemSpec(53, "User nr.", (w, t, u, f, p) => w.Batch.UserNumber.ToString()));
AllItems.Add(new WMeterRsltItemSpec(54, "Procedure name", (w, t, u, f, p) => w.Batch.ProcedureName));
AllItems.Add(new WMeterRsltItemSpec(55, "Watermeters", (w, t, u, f, p) => w.Batch.WatermetersStr));
AllItems.Add(new WMeterRsltItemSpec(56, "Protocol title", (w, t, u, f, p) => w.Batch.ProtocolTitle));
AllItems.Add(new WMeterRsltItemSpec(57, "Batch start date/time",(w, t, u, f, p) => (string.IsNullOrEmpty(p) ? w.Batch.StartTime.ToShortDateString()
AllItems.Add(new WMeterRsltItemSpec(63, "Batch number", (w, t, u, f, p) => w.Batch.BatchNr.ToString()));
AllItems.Add(new WMeterRsltItemSpec(64, "Test bench ID", (w, t, u, f, p) => w.Batch.TestBenchId.ToString()));
AllItems.Add(new WMeterRsltItemSpec(65, "Program version", (w, t, u, f, p) => w.Batch.ProgramVersion));
AllItems.Add(new WMeterRsltItemSpec(66, "User name", (w, t, u, f, p) => w.Batch.UserName));
AllItems.Add(new WMeterRsltItemSpec(67, "User nr.", (w, t, u, f, p) => w.Batch.UserNumber.ToString()));
AllItems.Add(new WMeterRsltItemSpec(68, "Procedure name", (w, t, u, f, p) => w.Batch.ProcedureName));
AllItems.Add(new WMeterRsltItemSpec(69, "Watermeters", (w, t, u, f, p) => w.Batch.WatermetersStr));
AllItems.Add(new WMeterRsltItemSpec(70, "Protocol title", (w, t, u, f, p) => w.Batch.ProtocolTitle));
AllItems.Add(new WMeterRsltItemSpec(71, "Batch start date/time",(w, t, u, f, p) => (string.IsNullOrEmpty(p) ? w.Batch.StartTime.ToShortDateString()
: w.Batch.StartTime.ToString(p))));
AllItems.Add(new WMeterRsltItemSpec(58, "Batch end date/time", (w, t, u, f, p) => (string.IsNullOrEmpty(p) ? w.Batch.EndTime.ToShortDateString()
AllItems.Add(new WMeterRsltItemSpec(72, "Batch end date/time", (w, t, u, f, p) => (string.IsNullOrEmpty(p) ? w.Batch.EndTime.ToShortDateString()
: w.Batch.EndTime.ToString(p))));
}