using System;
|
using System.ComponentModel.DataAnnotations;
|
using System.Text;
|
|
namespace TProduct.Model
|
{
|
public class PrjItemInstrumentSetting
|
{
|
public PrjItemInstrumentSetting() { }
|
|
/// <summary>
|
/// 出口压力计ID
|
/// </summary>
|
[Display(Name = "出口压力计ID")]
|
public long OutletPressureMeterID { get; set; }
|
|
/// <summary>
|
/// 出口压力计标高(暂时用不到, 都是从测点获取的)
|
/// </summary>
|
[Display(Name = "出口压力计标高")]
|
public double OutletPressureMeterElevation { get; set; }
|
|
/// <summary>
|
/// 出口压力计口径(暂时用不到, 都是从测点获取的)
|
/// </summary>
|
[Display(Name = "出口压力计口径")]
|
public double OutletPressureMeterPipeDia { get; set; }
|
|
/// <summary>
|
/// 进口压力计ID
|
/// </summary>
|
[Display(Name = "进口压力计ID")]
|
public long InletPressureMeterID { get; set; }
|
|
/// <summary>
|
/// 进口压力计标高(暂时用不到, 都是从测点获取的)
|
/// </summary>
|
[Display(Name = "进口压力计标高")]
|
public double InletPressureMeterElevation { get; set; }
|
|
/// <summary>
|
/// 进口压力计口径(暂时用不到, 都是从测点获取的)
|
/// </summary>
|
[Display(Name = "进口压力计口径")]
|
public double InletPressureMeterPipeDia { get; set; }
|
|
|
|
/// <summary>
|
/// 流量计量程最小值
|
/// </summary>
|
[Display(Name = "流量计量程最小值")]
|
public double FlowMeterRangeMin { get; set; }
|
|
/// <summary>
|
/// 流量计量程最大值
|
/// </summary>
|
[Display(Name = "流量计量程最大值")]
|
public double FlowMeterRangeMax { get; set; }
|
|
/// <summary>
|
/// To json
|
/// </summary>
|
public string ToDsString()
|
{
|
return JsonHelper.Object2Json(this);
|
}
|
/// <summary>
|
/// To json
|
/// </summary>
|
public static string ToDsString(PrjItemInstrumentSetting model)
|
{
|
if (model == null)
|
return "";
|
StringBuilder sb = new StringBuilder();
|
sb.Append("V1"); sb.Append("|");
|
if (model.OutletPressureMeterID > 0 || model.OutletPressureMeterPipeDia>0)
|
{
|
sb.AppendFormat("OPMI:{0}|", model.OutletPressureMeterID);
|
sb.AppendFormat("OPME:{0}|", model.OutletPressureMeterElevation);
|
sb.AppendFormat("OPMP:{0}|", model.OutletPressureMeterPipeDia);
|
}
|
|
if (model.InletPressureMeterID > 0 || model.InletPressureMeterPipeDia > 0)
|
{
|
sb.AppendFormat("IPMI:{0}|", model.InletPressureMeterID);
|
sb.AppendFormat("IPME:{0}|", model.InletPressureMeterElevation);
|
sb.AppendFormat("IPMP:{0}|", model.InletPressureMeterPipeDia);
|
}
|
|
if (model.FlowMeterRangeMax > model.FlowMeterRangeMin)
|
{
|
sb.AppendFormat("FMRA:{0}|", model.FlowMeterRangeMax);
|
sb.AppendFormat("FMRI:{0}|", model.FlowMeterRangeMin);
|
}
|
|
return sb.ToString();
|
}
|
/// <summary>
|
/// To model
|
/// </summary>
|
public static PrjItemInstrumentSetting ToParameter(string strPara)
|
{
|
if (string.IsNullOrEmpty(strPara))
|
return null;
|
if (!strPara.Contains("V1|"))
|
return null;
|
try
|
{
|
PrjItemInstrumentSetting model = new PrjItemInstrumentSetting();
|
string[] strPara_split_array = strPara.Split('|');
|
for (int i = 1; i < strPara_split_array.Length; i++)
|
{
|
var s = strPara_split_array[i];
|
if (s.StartsWith("OPMI:"))
|
{
|
model.OutletPressureMeterID = Convert.ToInt64(s.Replace("OPMI:", ""));
|
}
|
if (s.StartsWith("OPME:"))
|
{
|
model.OutletPressureMeterElevation = Convert.ToDouble(s.Replace("OPME:", ""));
|
}
|
if (s.StartsWith("OPMP:"))
|
{
|
model.OutletPressureMeterPipeDia = Convert.ToDouble(s.Replace("OPMP:", ""));
|
}
|
|
if (s.StartsWith("IPMI:"))
|
{
|
model.InletPressureMeterID = Convert.ToInt64(s.Replace("IPMI:", ""));
|
}
|
if (s.StartsWith("IPME:"))
|
{
|
model.InletPressureMeterElevation = Convert.ToDouble(s.Replace("IPME:", ""));
|
}
|
if (s.StartsWith("IPMP:"))
|
{
|
model.InletPressureMeterPipeDia = Convert.ToDouble(s.Replace("IPMP:", ""));
|
}
|
|
if (s.StartsWith("FMRA:"))
|
{
|
model.FlowMeterRangeMax = Convert.ToDouble(s.Replace("FMRA:", ""));
|
}
|
if (s.StartsWith("FMRI:"))
|
{
|
model.FlowMeterRangeMin = Convert.ToDouble(s.Replace("FMRI:", ""));
|
}
|
}
|
|
|
return model;
|
}
|
catch
|
{
|
return null;
|
}
|
|
}
|
|
}
|
}
|