namespace Yw.WinFrmUI
{
///
/// 水里组件属性视图创建辅助类
///
public static class HydroParterPropertyViewModelBuilder
{
///
/// 创建视图
///
/// 当前组件
/// 所有组件列表
///
public static HydroParterPropertyViewModel CreateViewModel(this Yw.Model.IHydroParterInfo rhs, List allParterList)
{
HydroParterPropertyViewModel vm = null;
switch (rhs.Catalog)
{
case Yw.Hydro.Catalog.Junction://连接节点
{
vm = new HydroJunctionPropertyViewModel(rhs as Yw.Model.HydroJunctionInfo);
}
break;
case Yw.Hydro.Catalog.Reservoir://水库
{
vm = new HydroReservoirPropertyViewModel(rhs as Yw.Model.HydroReservoirInfo);
}
break;
case Yw.Hydro.Catalog.Tank://水池
{
vm = new HydroTankPropertyViewModel(rhs as Yw.Model.HydroTankInfo);
}
break;
case Yw.Hydro.Catalog.Waterbox://水箱
{
vm = new HydroWaterboxPropertyViewModel(rhs as Yw.Model.HydroWaterboxInfo);
}
break;
case Yw.Hydro.Catalog.Threelink://三通
{
vm = new HydroThreelinkPropertyViewModel(rhs as Yw.Model.HydroThreelinkInfo);
}
break;
case Yw.Hydro.Catalog.Fourlink://四通
{
vm = new HydroFourlinkPropertyViewModel(rhs as Yw.Model.HydroFourlinkInfo);
}
break;
case Yw.Hydro.Catalog.Flowmeter://流量计
{
vm = new HydroFlowmeterPropertyViewModel(rhs as Yw.Model.HydroFlowmeterInfo);
}
break;
case Yw.Hydro.Catalog.Pressmeter://压力表
{
vm = new HydroPressmeterPropertyViewModel(rhs as Yw.Model.HydroPressmeterInfo);
}
break;
case Yw.Hydro.Catalog.Blunthead://闷头
{
vm = new HydroBluntheadPropertyViewModel(rhs as Yw.Model.HydroBluntheadInfo);
}
break;
case Yw.Hydro.Catalog.Nozzle://喷嘴
{
vm = new HydroNozzlePropertyViewModel(rhs as Yw.Model.HydroNozzleInfo);
}
break;
case Yw.Hydro.Catalog.Hydrant://消火栓
{
vm = new HydroHydrantPropertyViewModel(rhs as Yw.Model.HydroHydrantInfo);
}
break;
case Yw.Hydro.Catalog.Pipe://管道
{
vm = new HydroPipePropertyViewModel(rhs as Yw.Model.HydroPipeInfo);
}
break;
case Yw.Hydro.Catalog.Translation://过渡件
{
vm = new HydroTranslationPropertyViewModel(rhs as Yw.Model.HydroTranslationInfo);
}
break;
case Yw.Hydro.Catalog.Pump://水泵
{
vm = new HydroPumpPropertyViewModel(rhs as Yw.Model.HydroPumpInfo);
}
break;
case Yw.Hydro.Catalog.Valve://阀门
{
vm = new HydroValvePropertyViewModel(rhs as Yw.Model.HydroValveInfo);
}
break;
default: break;
}
return vm;
}
}
}