namespace Yw.WinFrmUI.HydroL2d
{
///
///
///
public partial class Network
{
///
/// 添加组件
///
/// 组件
/// 失败信息
///
public bool Append(Parter parter, out string msg)
{
msg = string.Empty;
if (parter == null)
{
msg = "数据为空";
return false;
}
if (string.IsNullOrEmpty(parter.Id))
{
msg = "Id为空";
return false;
}
if (IsExist(parter.Id))
{
msg = "组件Id已存在";
return false;
}
_parters.Add(parter);
return true;
}
///
/// 添加节点
///
/// 节点
/// 失败信息
///
public bool Append(Node node, out string msg)
{
if (node == null)
{
msg = "数据为空";
return false;
}
if (node.Position.InValid())
{
msg = "节点位置无效";
return false;
}
return Append(node as Parter, out msg);
}
///
/// 添加管段
///
/// 管段
/// 失败信息
///
public bool Append(Link link, out string msg)
{
if (link == null)
{
msg = "数据为空";
return false;
}
if (link.StartPosition.InValid())
{
msg = "管段上游位置无效";
return false;
}
if (link.EndPosition.InValid())
{
msg = "管段下游位置无效";
return false;
}
return Append(link as Parter, out msg);
}
///
/// 添加水源
///
/// 水源
/// 失败信息
///
public bool Append(Source source, out string msg)
{
if (source == null)
{
msg = "数据为空";
return false;
}
return Append(source as Node, out msg);
}
///
/// 添加水库
///
/// 水库
/// 失败信息
///
public bool Append(Reservoir reservoir, out string msg)
{
if (reservoir == null)
{
msg = "数据为空";
return false;
}
return Append(reservoir as Source, out msg);
}
///
/// 添加水池
///
/// 水池
/// 失败信息
///
public bool Append(Tank tank, out string msg)
{
if (tank == null)
{
msg = "数据为空";
return false;
}
return Append(tank as Source, out msg);
}
///
/// 添加连接节点
///
/// 连接节点
/// 失败信息
///
public bool Append(Junction junction, out string msg)
{
if (junction == null)
{
msg = "数据为空";
return false;
}
return Append(junction as Node, out msg);
}
///
/// 添加管道
///
/// 管道
/// 失败信息
///
public bool Append(Pipe pipe, out string msg)
{
if (pipe == null)
{
msg = "数据为空";
return false;
}
return Append(pipe as Link, out msg);
}
///
/// 添加水泵
///
/// 水泵
/// 失败信息
///
public bool Append(Pump pump, out string msg)
{
if (pump == null)
{
msg = "数据为空";
return false;
}
return Append(pump as Link, out msg);
}
///
/// 添加阀门
///
/// 阀门
/// 失败信息
///
public bool Append(Valve valve, out string msg)
{
if (valve == null)
{
msg = "数据为空";
return false;
}
return Append(valve as Link, out msg);
}
}
}