namespace Yw.WinFrmUI { /// /// 水力可见组件属性视图创建辅助类 /// public static class HydroVisualViewModelBuilder { /// /// 创建可见视图 /// public static HydroVisualViewModel CreateVisualViewModel(this Yw.Model.HydroVisualInfo rhs, Yw.Model.HydroModelInfo hydroInfo) { if (rhs == null) { return default; } HydroVisualViewModel vm = null; switch (rhs.Catalog) { case Yw.Hydro.ParterCatalog.Reservoir://水库 { vm = new HydroReservoirViewModel(rhs as Yw.Model.HydroReservoirInfo, hydroInfo); } break; case Yw.Hydro.ParterCatalog.Tank://水池 { vm = new HydroTankViewModel(rhs as Yw.Model.HydroTankInfo, hydroInfo); } break; case Yw.Hydro.ParterCatalog.Waterbox://水箱 { vm = new HydroWaterboxViewModel(rhs as Yw.Model.HydroWaterboxInfo, hydroInfo); } break; case Yw.Hydro.ParterCatalog.Junction://连接节点 { vm = new HydroJunctionViewModel(rhs as Yw.Model.HydroJunctionInfo, hydroInfo); } break; case Yw.Hydro.ParterCatalog.Nozzle://喷嘴 { vm = new HydroNozzleViewModel(rhs as Yw.Model.HydroNozzleInfo, hydroInfo); } break; case Yw.Hydro.ParterCatalog.Hydrant://消火栓 { vm = new HydroHydrantViewModel(rhs as Yw.Model.HydroHydrantInfo, hydroInfo); } break; case Yw.Hydro.ParterCatalog.Cooling://冷却塔 { vm = new HydroCoolingViewModel(rhs as Yw.Model.HydroCoolingInfo, hydroInfo); } break; case Yw.Hydro.ParterCatalog.Blunthead://闷头 { vm = new HydroBluntheadViewModel(rhs as Yw.Model.HydroBluntheadInfo, hydroInfo); } break; case Yw.Hydro.ParterCatalog.Elbow://弯头 { vm = new HydroElbowViewModel(rhs as Yw.Model.HydroElbowInfo, hydroInfo); } break; case Yw.Hydro.ParterCatalog.Threelink://三通 { vm = new HydroThreelinkViewModel(rhs as Yw.Model.HydroThreelinkInfo, hydroInfo); } break; case Yw.Hydro.ParterCatalog.Fourlink://四通 { vm = new HydroFourlinkViewModel(rhs as Yw.Model.HydroFourlinkInfo, hydroInfo); } break; case Yw.Hydro.ParterCatalog.Meter://水表 { vm = new HydroMeterViewModel(rhs as Yw.Model.HydroMeterInfo, hydroInfo); } break; case Yw.Hydro.ParterCatalog.Flowmeter://流量计 { vm = new HydroFlowmeterViewModel(rhs as Yw.Model.HydroFlowmeterInfo, hydroInfo); } break; case Yw.Hydro.ParterCatalog.Pressmeter://压力表 { vm = new HydroPressmeterViewModel(rhs as Yw.Model.HydroPressmeterInfo, hydroInfo); } break; case Yw.Hydro.ParterCatalog.Pipe://管道 { vm = new HydroPipeViewModel(rhs as Yw.Model.HydroPipeInfo, hydroInfo); } break; case Yw.Hydro.ParterCatalog.Translation://过渡件 { vm = new HydroTranslationViewModel(rhs as Yw.Model.HydroTranslationInfo, hydroInfo); } break; case Yw.Hydro.ParterCatalog.Pump://水泵 { vm = new HydroPumpViewModel(rhs as Yw.Model.HydroPumpInfo, hydroInfo); } break; case Yw.Hydro.ParterCatalog.Valve://阀门 { vm = new HydroValveViewModel(rhs as Yw.Model.HydroValveInfo, hydroInfo); } break; case Yw.Hydro.ParterCatalog.Exchanger://换热器 { vm = new HydroExchangerViewModel(rhs as Yw.Model.HydroExchangerInfo, hydroInfo); } break; case Yw.Hydro.ParterCatalog.Compressor://压缩机 { vm = new HydroCompressorViewModel(rhs as Yw.Model.HydroCompressorInfo, hydroInfo); } break; default: break; } return vm; } } }