lixiaojun
2024-10-17 4cb1f00f84d160f97afd0fb86cf600e1be667dd5
WinFrmUI/Yw.WinFrmUI.Hydro.Core/03-property/00-core/HydroParterPropertyViewModelBuilder.cs
@@ -1,7 +1,7 @@
namespace Yw.WinFrmUI
{
    /// <summary>
    /// 水里组件属性视图创建辅助类
    /// 水力组件属性视图创建辅助类
    /// </summary>
    public static class HydroParterPropertyViewModelBuilder
    {
@@ -11,82 +11,101 @@
        /// <param name="rhs">当前组件</param>
        /// <param name="allParterList">所有组件列表</param>
        /// <returns></returns>
        public static HydroParterPropertyViewModel CreateViewModel(this Yw.Model.IHydroParterInfo rhs, List<Yw.Model.IHydroParterInfo> allParterList)
        public static HydroParterPropertyViewModel CreateViewModel(this Yw.Model.HydroParterInfo rhs, List<Yw.Model.HydroParterInfo> allParterList)
        {
            if (rhs == null)
            {
                return default;
            }
            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://水库
                case Yw.Hydro.ParterCatalog.Reservoir://水库
                    {
                        vm = new HydroReservoirPropertyViewModel(rhs as Yw.Model.HydroReservoirInfo);
                    }
                    break;
                case Yw.Hydro.Catalog.Tank://水池
                case Yw.Hydro.ParterCatalog.Tank://水池
                    {
                        vm = new HydroTankPropertyViewModel(rhs as Yw.Model.HydroTankInfo);
                    }
                    break;
                case Yw.Hydro.Catalog.Waterbox://水箱
                case Yw.Hydro.ParterCatalog.Waterbox://水箱
                    {
                        vm = new HydroWaterboxPropertyViewModel(rhs as Yw.Model.HydroWaterboxInfo);
                    }
                    break;
                case Yw.Hydro.Catalog.Threelink://三通
                case Yw.Hydro.ParterCatalog.Junction://连接节点
                    {
                        vm = new HydroThreelinkPropertyViewModel(rhs as Yw.Model.HydroThreelinkInfo);
                        vm = new HydroJunctionPropertyViewModel(rhs as Yw.Model.HydroJunctionInfo);
                    }
                    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://喷嘴
                case Yw.Hydro.ParterCatalog.Nozzle://喷嘴
                    {
                        vm = new HydroNozzlePropertyViewModel(rhs as Yw.Model.HydroNozzleInfo);
                    }
                    break;
                case Yw.Hydro.Catalog.Hydrant://消火栓
                case Yw.Hydro.ParterCatalog.Hydrant://消火栓
                    {
                        vm = new HydroHydrantPropertyViewModel(rhs as Yw.Model.HydroHydrantInfo);
                    }
                    break;
                case Yw.Hydro.Catalog.Pipe://管道
                case Yw.Hydro.ParterCatalog.Blunthead://闷头
                    {
                        vm = new HydroBluntheadPropertyViewModel(rhs as Yw.Model.HydroBluntheadInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Elbow://弯头
                    {
                        vm = new HydroElbowPropertyViewModel(rhs as Yw.Model.HydroElbowInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Threelink://三通
                    {
                        vm = new HydroThreelinkPropertyViewModel(rhs as Yw.Model.HydroThreelinkInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Fourlink://四通
                    {
                        vm = new HydroFourlinkPropertyViewModel(rhs as Yw.Model.HydroFourlinkInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Meter://水表
                    {
                        vm = new HydroMeterPropertyViewModel(rhs as Yw.Model.HydroMeterInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Flowmeter://流量计
                    {
                        vm = new HydroFlowmeterPropertyViewModel(rhs as Yw.Model.HydroFlowmeterInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Pressmeter://压力表
                    {
                        vm = new HydroPressmeterPropertyViewModel(rhs as Yw.Model.HydroPressmeterInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Pipe://管道
                    {
                        vm = new HydroPipePropertyViewModel(rhs as Yw.Model.HydroPipeInfo);
                    }
                    break;
                case Yw.Hydro.Catalog.Translation://过渡件
                case Yw.Hydro.ParterCatalog.Translation://过渡件
                    {
                        vm = new HydroTranslationPropertyViewModel(rhs as Yw.Model.HydroTranslationInfo);
                    }
                    break;
                case Yw.Hydro.Catalog.Pump://水泵
                case Yw.Hydro.ParterCatalog.Exchanger://换热器
                    {
                        vm = new HydroExchangerPropertyViewModel(rhs as Yw.Model.HydroExchangerInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Pump://水泵
                    {
                        vm = new HydroPumpPropertyViewModel(rhs as Yw.Model.HydroPumpInfo);
                    }
                    break;
                case Yw.Hydro.Catalog.Valve://阀门
                case Yw.Hydro.ParterCatalog.Valve://阀门
                    {
                        vm = new HydroValvePropertyViewModel(rhs as Yw.Model.HydroValveInfo);
                    }