AllItems.Add(newWMeterRsltItemSpec(ItemID.Mass_start_raw,string.Format("{0} ST raw ()",Strings.VName_Mass),Quantity.Mass,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).MassStartRaw).ToString(GetPr(p,"F4"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.Mass_start,string.Format("{0} ST ()",Strings.VName_Mass),Quantity.Mass,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).MassStart).ToString(GetPr(p,"F4"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.Mass_end_raw,string.Format("{0} EN raw ()",Strings.VName_Mass),Quantity.Mass,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).MassEndRaw).ToString(GetPr(p,"F4"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.Mass_end,string.Format("{0} EN ()",Strings.VName_Mass),Quantity.Mass,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).MassEnd).ToString(GetPr(p,"F4"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.Flow,string.Format("{0} v r",Strings.VName_Flow),Strings.Tooltip_Q_v_r,Quantity.Flow,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Utils.DoubleToStr(Config.Units.ConvertTo(u,w.GetTestRslt(t).FlowVolume),4)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.Q_ref_mean,string.Format("{0} rim ()",Strings.VName_Flow),Strings.Tooltip_Q_rim,Quantity.Flow,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Utils.DoubleToStr(Config.Units.ConvertTo(u,w.GetTestRslt(t).FlowMean),4)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_up_mean,string.Format("{0} UP ME ()",Strings.VName_Temp),Strings.Tooltip_T_up_me,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).TempUpMean).ToString(GetPr(p,"F2"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_up_start,string.Format("{0} UP ST ()",Strings.VName_Temp),Strings.Tooltip_T_up_st,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).TempUpStart).ToString(GetPr(p,"F1"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_up_end,string.Format("{0} UP EN ()",Strings.VName_Temp),Strings.Tooltip_T_up_en,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).TempUpEnd).ToString(GetPr(p,"F1"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_up_avg,string.Format("{0} UP avg ()",Strings.VName_Temp),Strings.Tooltip_T_up_avg,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,(w.GetTestRslt(t).TempUpStart+w.GetTestRslt(t).TempUpEnd)/2).ToString(GetPr(p,"F1"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_down_mean,string.Format("{0} DW ME ()",Strings.VName_Temp),Strings.Tooltip_T_dw_me,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).TempDownMean).ToString(GetPr(p,"F2"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_down_start,string.Format("{0} DW ST ()",Strings.VName_Temp),Strings.Tooltip_T_dw_st,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).TempDownStart).ToString(GetPr(p,"F1"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_down_end,string.Format("{0} DW EN ()",Strings.VName_Temp),Strings.Tooltip_T_dw_en,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).TempDownEnd).ToString(GetPr(p,"F1"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_div,string.Format("{0} DI ME ()",Strings.VName_Temp),Strings.Tooltip_T_di_me,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).TempDivMean).ToString(GetPr(p,"F2"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_div_start,string.Format("{0} DI ST ()",Strings.VName_Temp),Strings.Tooltip_T_di_st,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).TempDivStart).ToString(GetPr(p,"F1"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_div_end,string.Format("{0} DI EN ()",Strings.VName_Temp),Strings.Tooltip_T_di_en,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).TempDivEnd).ToString(GetPr(p,"F1"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_div_avg,string.Format("{0} DI avg ()",Strings.VName_Temp),Strings.Tooltip_T_di_avg,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,(w.GetTestRslt(t).TempDivStart+w.GetTestRslt(t).TempDivEnd)/2).ToString(GetPr(p,"F1"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_Hi_mean,string.Format("{0} hi me",Strings.VName_Temp),Quantity.Temperature,ItemCategory.Other,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).Custom1).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_Hi_start,string.Format("{0} hi st",Strings.VName_Temp),Quantity.Temperature,ItemCategory.Other,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).Custom2).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_Hi_end,string.Format("{0} hi en",Strings.VName_Temp),Quantity.Temperature,ItemCategory.Other,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).Custom3).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_Hi_avg,string.Format("{0} hi av",Strings.VName_Temp),Quantity.Temperature,ItemCategory.Other,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,(w.GetTestRslt(t).Custom2+w.GetTestRslt(t).Custom3)/2).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_Lo_mean,string.Format("{0} lo me",Strings.VName_Temp),Quantity.Temperature,ItemCategory.Other,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).Custom6).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_Lo_start,string.Format("{0} lo st",Strings.VName_Temp),Quantity.Temperature,ItemCategory.Other,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).Custom7).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_Lo_end,string.Format("{0} lo en",Strings.VName_Temp),Quantity.Temperature,ItemCategory.Other,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).Custom8).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_Lo_avg,string.Format("{0} lo av",Strings.VName_Temp),Quantity.Temperature,ItemCategory.Other,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,(w.GetTestRslt(t).Custom7+w.GetTestRslt(t).Custom8)/2).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_up,string.Format("{0} UP ME ()",Strings.VName_Press),Strings.Tooltip_P_up_me,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).PressUpMean).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_up_start,string.Format("{0} UP ST ()",Strings.VName_Press),Strings.Tooltip_P_up_st,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).PressUpStart).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_up_end,string.Format("{0} UP EN ()",Strings.VName_Press),Strings.Tooltip_P_up_en,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).PressUpEnd).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_up_avg,string.Format("{0} UP avg ()",Strings.VName_Press),Strings.Tooltip_P_up_avg,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,(w.GetTestRslt(t).PressUpStart+w.GetTestRslt(t).PressUpEnd)/2).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_down,string.Format("{0} DW ME ()",Strings.VName_Press),Strings.Tooltip_P_dw_me,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).PressDownMean).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_down_start,string.Format("{0} DW ST ()",Strings.VName_Press),Strings.Tooltip_P_dw_st,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).PressDownStart).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_down_end,string.Format("{0} DW EN ()",Strings.VName_Press),Strings.Tooltip_P_dw_en,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).PressDownEnd).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_delta_mean,string.Format("{0} DE ME ()",Strings.VName_Press),Strings.Tooltip_P_de_me,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).PressDeltaMean).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_delta_start,string.Format("{0} DE ST ()",Strings.VName_Press),Strings.Tooltip_P_de_st,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).PressDeltaStart).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_delta_end,string.Format("{0} DE EN ()",Strings.VName_Press),Strings.Tooltip_P_de_en,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":Config.Units.ConvertTo(u,w.GetTestRslt(t).PressDeltaEnd).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(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"))));
AllItems.Add(newWMeterRsltItemSpec(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(newWMeterRsltItemSpec(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(newWMeterRsltItemSpec(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(newWMeterRsltItemSpec(ItemID.Pressure_loss_class,"Pressure loss class",Quantity.String,ItemCategory.MeterData,(w,t,u,f,p)=>w.WaterMeterData.PressureLossClass.ToDescription()));