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; } } }