diff --git a/Config/Units.cs b/Config/Units.cs index c3f6828a1..3b41f9f50 100644 --- a/Config/Units.cs +++ b/Config/Units.cs @@ -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; } diff --git a/Results/WMeterRsltItemSpec.cs b/Results/WMeterRsltItemSpec.cs index 69aa1f3ec..6adbc204b 100644 --- a/Results/WMeterRsltItemSpec.cs +++ b/Results/WMeterRsltItemSpec.cs @@ -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)))); }