| | |
| | | using Yw.WinFrmUI.Hydro; |
| | | |
| | | namespace Yw.WinFrmUI |
| | | namespace Yw.WinFrmUI |
| | | { |
| | | /// <summary> |
| | | /// 标注辅助类 |
| | |
| | | return default; |
| | | } |
| | | var list = new List<HydroMarkSetViewModel>(); |
| | | |
| | | //水库 |
| | | if (hydroInfo.Reservoirs != null && hydroInfo.Reservoirs.Count > 0) |
| | | { |
| | | list.Add(new HydroMarkSetViewModel() |
| | |
| | | PropName = HydroMarkProp.None |
| | | }); |
| | | } |
| | | |
| | | //水池 |
| | | if (hydroInfo.Tanks != null && hydroInfo.Tanks.Count > 0) |
| | | { |
| | | list.Add(new HydroMarkSetViewModel() |
| | |
| | | PropName = HydroMarkProp.None |
| | | }); |
| | | } |
| | | |
| | | //水箱 |
| | | if (hydroInfo.Waterboxs != null && hydroInfo.Waterboxs.Count > 0) |
| | | { |
| | | list.Add(new HydroMarkSetViewModel() |
| | |
| | | PropName = HydroMarkProp.None |
| | | }); |
| | | } |
| | | |
| | | //管道 |
| | | if (hydroInfo.Pipes != null && hydroInfo.Pipes.Count > 0) |
| | | { |
| | | list.Add(new HydroMarkSetViewModel() |
| | |
| | | PropName = HydroMarkProp.None |
| | | }); |
| | | } |
| | | |
| | | //过渡件 |
| | | if (hydroInfo.Translations != null && hydroInfo.Translations.Count > 0) |
| | | { |
| | | list.Add(new HydroMarkSetViewModel() |
| | |
| | | PropName = HydroMarkProp.None |
| | | }); |
| | | } |
| | | |
| | | //水泵 |
| | | if (hydroInfo.Pumps != null && hydroInfo.Pumps.Count > 0) |
| | | { |
| | | list.Add(new HydroMarkSetViewModel() |
| | |
| | | PropName = HydroMarkProp.None |
| | | }); |
| | | } |
| | | |
| | | //阀门 |
| | | if (hydroInfo.Valves != null && hydroInfo.Valves.Count > 0) |
| | | { |
| | | list.Add(new HydroMarkSetViewModel() |
| | |
| | | PropName = HydroMarkProp.None |
| | | }); |
| | | } |
| | | |
| | | //换热器 |
| | | if (hydroInfo.Exchangers != null && hydroInfo.Exchangers.Count > 0) |
| | | { |
| | | list.Add(new HydroMarkSetViewModel() |
| | |
| | | PropName = HydroMarkProp.None |
| | | }); |
| | | } |
| | | |
| | | //压缩机 |
| | | if (hydroInfo.Compressors != null && hydroInfo.Compressors.Count > 0) |
| | | { |
| | | list.Add(new HydroMarkSetViewModel() |
| | | { |
| | | Catalog = Yw.Hydro.ParterCatalog.Compressor, |
| | | CatalogName = HydroParterCatalogHelper.GetName(Yw.Hydro.ParterCatalog.Compressor), |
| | | PropName = HydroMarkProp.None |
| | | }); |
| | | } |
| | | |
| | | //喷嘴 |
| | | if (hydroInfo.Nozzles != null && hydroInfo.Nozzles.Count > 0) |
| | | { |
| | | list.Add(new HydroMarkSetViewModel() |
| | |
| | | PropName = HydroMarkProp.None |
| | | }); |
| | | } |
| | | |
| | | //消火栓 |
| | | if (hydroInfo.Hydrants != null && hydroInfo.Hydrants.Count > 0) |
| | | { |
| | | list.Add(new HydroMarkSetViewModel() |
| | |
| | | PropName = HydroMarkProp.None |
| | | }); |
| | | } |
| | | |
| | | return list; |
| | | } |
| | | |
| | |
| | | { |
| | | return default; |
| | | } |
| | | var list = new List<HydroMarkResultViewModel>(); |
| | | foreach (var set in allSetList) |
| | | var allVisualList = hydroInfo.GetAllVisuals(); |
| | | if (allVisualList == null || allVisualList.Count < 1) |
| | | { |
| | | switch (set.Catalog) |
| | | { |
| | | case Yw.Hydro.ParterCatalog.Reservoir: |
| | | { |
| | | if (hydroInfo.Reservoirs != null && hydroInfo.Reservoirs.Count > 0) |
| | | { |
| | | switch (set.PropName) |
| | | { |
| | | case Yw.Hydro.ParterProp.PoolElev: |
| | | { |
| | | hydroInfo.Reservoirs.ForEach(t => |
| | | { |
| | | if (t.PoolElev.HasValue) |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"池底标高:{Math.Round(t.PoolElev.Value, 4)}m" |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.Head: |
| | | { |
| | | hydroInfo.Reservoirs.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"总水头:{Math.Round(t.Head, 2)}m" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | default: break; |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterCatalog.Tank: |
| | | { |
| | | if (hydroInfo.Tanks != null && hydroInfo.Tanks.Count > 0) |
| | | { |
| | | switch (set.PropName) |
| | | { |
| | | case Yw.Hydro.ParterProp.PoolElev: |
| | | { |
| | | hydroInfo.Tanks.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"池底标高:{Math.Round(t.PoolElev, 4)}m" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.InitLevel: |
| | | { |
| | | hydroInfo.Tanks.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"初始水位:{Math.Round(t.InitLevel, 4)}m" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.MinLevel: |
| | | { |
| | | hydroInfo.Tanks.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"最小水位:{Math.Round(t.MinLevel, 4)}m" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.MaxLevel: |
| | | { |
| | | hydroInfo.Tanks.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"最高水位:{Math.Round(t.MaxLevel, 4)}m" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.DN: |
| | | { |
| | | hydroInfo.Tanks.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"公称直径:{Math.Round(t.DN, 4)}m" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.MinVol: |
| | | { |
| | | hydroInfo.Tanks.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"最小容积:{Math.Round(t.MinVol, 1)}m" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | default: break; |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterCatalog.Waterbox: |
| | | { |
| | | if (hydroInfo.Waterboxs != null && hydroInfo.Waterboxs.Count > 0) |
| | | { |
| | | switch (set.PropName) |
| | | { |
| | | case Yw.Hydro.ParterProp.PoolElev: |
| | | { |
| | | hydroInfo.Waterboxs.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"池底标高:{Math.Round(t.PoolElev, 4)}m" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.InitLevel: |
| | | { |
| | | hydroInfo.Waterboxs.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"初始水位:{Math.Round(t.InitLevel, 4)}m" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.MinLevel: |
| | | { |
| | | hydroInfo.Waterboxs.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"最小水位:{Math.Round(t.MinLevel, 4)}m" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.MaxLevel: |
| | | { |
| | | hydroInfo.Waterboxs.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"最高水位:{Math.Round(t.MaxLevel, 4)}m" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.DN: |
| | | { |
| | | hydroInfo.Waterboxs.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"公称直径:{Math.Round(t.DN, 4)}m" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.MinVol: |
| | | { |
| | | hydroInfo.Waterboxs.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"最小容积:{Math.Round(t.MinVol, 1)}m" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | default: break; |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterCatalog.Pipe: |
| | | { |
| | | if (hydroInfo.Pipes != null && hydroInfo.Pipes.Count > 0) |
| | | { |
| | | switch (set.PropName) |
| | | { |
| | | case Yw.Hydro.ParterProp.Diameter: |
| | | { |
| | | hydroInfo.Pipes.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"直径:{Math.Round(t.Diameter, 1)}mm" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.Length: |
| | | { |
| | | hydroInfo.Pipes.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"长度:{Math.Round(t.Length, 4)}m" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.Roughness: |
| | | { |
| | | hydroInfo.Pipes.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"粗糙系数:{Math.Round(t.Roughness, 1)}" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.MinorLoss: |
| | | { |
| | | hydroInfo.Pipes.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"局阻系数:{Math.Round(t.MinorLoss, 1)}" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | default: break; |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterCatalog.Translation: |
| | | { |
| | | if (hydroInfo.Translations != null && hydroInfo.Translations.Count > 0) |
| | | { |
| | | switch (set.PropName) |
| | | { |
| | | case Yw.Hydro.ParterProp.Diameter: |
| | | { |
| | | hydroInfo.Translations.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"直径:{Math.Round(t.Diameter, 1)}mm" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.Length: |
| | | { |
| | | hydroInfo.Translations.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"长度:{Math.Round(t.Length, 4)}m" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.Roughness: |
| | | { |
| | | hydroInfo.Translations.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"粗糙系数:{Math.Round(t.Roughness, 1)}" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.MinorLoss: |
| | | { |
| | | hydroInfo.Translations.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"局阻系数:{Math.Round(t.MinorLoss, 1)}" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | default: break; |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterCatalog.Pump: |
| | | { |
| | | if (hydroInfo.Pumps != null && hydroInfo.Pumps.Count > 0) |
| | | { |
| | | switch (set.PropName) |
| | | { |
| | | case Yw.Hydro.ParterProp.LinkStatus: |
| | | { |
| | | hydroInfo.Pumps.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"开机状态:{Yw.WinFrmUI.HydroLinkStatusHelper.GetStatusName(t.LinkStatus)}" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.RatedQ: |
| | | { |
| | | hydroInfo.Pumps.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"额定流量:{t.RatedQ}m³/h" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.RatedH: |
| | | { |
| | | hydroInfo.Pumps.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"额定扬程:{t.RatedH}m" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.RatedP: |
| | | { |
| | | hydroInfo.Pumps.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"额定功率:{t.RatedP}kW" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.RatedN: |
| | | { |
| | | hydroInfo.Pumps.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"额定转速:{t.RatedN}r/min" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.CurrentHz: |
| | | { |
| | | hydroInfo.Pumps.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"设定频率:{Math.Round(t.RatedHz * t.SpeedRatio, 1)}hz" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | default: break; |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterCatalog.Valve: |
| | | { |
| | | if (hydroInfo.Valves != null && hydroInfo.Valves.Count > 0) |
| | | { |
| | | switch (set.PropName) |
| | | { |
| | | case Yw.Hydro.ParterProp.LinkStatus: |
| | | { |
| | | hydroInfo.Valves.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"阀门状态:{HydroLinkStatusHelper.GetStatusName(t.LinkStatus)}" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.ValveType: |
| | | { |
| | | hydroInfo.Valves.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"阀门类型:{HydroValveTypeHelper.GetTypeName(t.ValveType)}" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.OpeningDegree: |
| | | { |
| | | hydroInfo.Valves.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"阀门开度:{t.OpeningDegree}%" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.Diameter: |
| | | { |
| | | hydroInfo.Valves.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"直径:{t.Diameter}mm" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.MinorLoss: |
| | | { |
| | | hydroInfo.Valves.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"局阻系数:{t.MinorLoss}" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | default: break; |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterCatalog.Nozzle: |
| | | { |
| | | if (hydroInfo.Nozzles != null && hydroInfo.Nozzles.Count > 0) |
| | | { |
| | | switch (set.PropName) |
| | | { |
| | | case Yw.Hydro.ParterProp.Elev: |
| | | { |
| | | hydroInfo.Nozzles.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"标高:{Math.Round(t.Elev, 4)}m" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.Demand: |
| | | { |
| | | hydroInfo.Nozzles.ForEach(t => |
| | | { |
| | | if (t.Demand.HasValue) |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"需水量:{t.Demand}m³/h" |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.Coefficient: |
| | | { |
| | | hydroInfo.Nozzles.ForEach(t => |
| | | { |
| | | list.Add(new HydroMarkResultViewModel() |
| | | { |
| | | Code = t.Code, |
| | | Text = $"喷射系数:{t.Coefficient}" |
| | | }); |
| | | }); |
| | | } |
| | | break; |
| | | default: break; |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | default: break; |
| | | } |
| | | return default; |
| | | } |
| | | var list = new List<HydroMarkResultViewModel>(); |
| | | allVisualList.ForEach(x => |
| | | { |
| | | var result = GetResult(x, allSetList); |
| | | if (result != null) |
| | | { |
| | | list.Add(result); |
| | | } |
| | | }); |
| | | return list; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取结果 |
| | | /// </summary> |
| | | public static HydroMarkResultViewModel GetResult(Yw.Model.HydroVisualInfo visual, List<HydroMarkSetViewModel> allSetList) |
| | | { |
| | | if (visual == null) |
| | | { |
| | | return default; |
| | | } |
| | | var set = allSetList?.Find(x => x.Catalog == visual.Catalog); |
| | | if (set == null) |
| | | { |
| | | return default; |
| | | } |
| | | HydroMarkResultViewModel result = null; |
| | | switch (set.Catalog) |
| | | { |
| | | case Yw.Hydro.ParterCatalog.Reservoir: |
| | | { |
| | | var reservoir = visual as Yw.Model.HydroReservoirInfo; |
| | | switch (set.PropName) |
| | | { |
| | | case Yw.Hydro.ParterProp.PoolElev: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"池底标高:{Math.Round(reservoir.PoolElev.Value, 4)}m" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.Head: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"总水头:{Math.Round(reservoir.Head, 2)}m" |
| | | }; |
| | | } |
| | | break; |
| | | default: break; |
| | | } |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterCatalog.Tank: |
| | | { |
| | | var tank = visual as Yw.Model.HydroTankInfo; |
| | | switch (set.PropName) |
| | | { |
| | | case Yw.Hydro.ParterProp.PoolElev: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"池底标高:{Math.Round(tank.PoolElev, 4)}m" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.InitLevel: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"初始水位:{Math.Round(tank.InitLevel, 4)}m" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.MinLevel: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"最小水位:{Math.Round(tank.MinLevel, 4)}m" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.MaxLevel: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"最高水位:{Math.Round(tank.MaxLevel, 4)}m" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.DN: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"公称直径:{Math.Round(tank.DN, 4)}m" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.MinVol: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"最小容积:{Math.Round(tank.MinVol, 1)}m³" |
| | | }; |
| | | } |
| | | break; |
| | | default: break; |
| | | } |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterCatalog.Waterbox: |
| | | { |
| | | var waterbox = visual as Yw.Model.HydroWaterboxInfo; |
| | | switch (set.PropName) |
| | | { |
| | | case Yw.Hydro.ParterProp.PoolElev: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"池底标高:{Math.Round(waterbox.PoolElev, 4)}m" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.InitLevel: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"初始水位:{Math.Round(waterbox.InitLevel, 4)}m" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.MinLevel: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"最小水位:{Math.Round(waterbox.MinLevel, 4)}m" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.MaxLevel: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"最高水位:{Math.Round(waterbox.MaxLevel, 4)}m" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.DN: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"公称直径:{Math.Round(waterbox.DN, 4)}m" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.MinVol: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"最小容积:{Math.Round(waterbox.MinVol, 1)}m³" |
| | | }; |
| | | } |
| | | break; |
| | | default: break; |
| | | } |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterCatalog.Pipe: |
| | | { |
| | | var pipe = visual as Yw.Model.HydroPipeInfo; |
| | | switch (set.PropName) |
| | | { |
| | | case Yw.Hydro.ParterProp.Diameter: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"直径:{Math.Round(pipe.Diameter, 1)}mm" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.Length: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"长度:{Math.Round(pipe.Length, 4)}m" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.Roughness: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"粗糙系数:{Math.Round(pipe.Roughness, 1)}" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.MinorLoss: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"局阻系数:{Math.Round(pipe.MinorLoss, 1)}" |
| | | }; |
| | | } |
| | | break; |
| | | default: break; |
| | | } |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterCatalog.Translation: |
| | | { |
| | | var translation = visual as Yw.Model.HydroTranslationInfo; |
| | | switch (set.PropName) |
| | | { |
| | | case Yw.Hydro.ParterProp.Diameter: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"直径:{Math.Round(translation.Diameter, 1)}mm" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.Length: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"长度:{Math.Round(translation.Length, 4)}m" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.Roughness: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"粗糙系数:{Math.Round(translation.Roughness, 1)}" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.MinorLoss: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"局阻系数:{Math.Round(translation.MinorLoss, 1)}" |
| | | }; |
| | | } |
| | | break; |
| | | default: break; |
| | | } |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterCatalog.Pump: |
| | | { |
| | | var pump = visual as Yw.Model.HydroPumpInfo; |
| | | switch (set.PropName) |
| | | { |
| | | case Yw.Hydro.ParterProp.LinkStatus: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"开机状态:{Yw.WinFrmUI.HydroLinkStatusHelper.GetStatusName(pump.LinkStatus)}" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.RatedQ: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"额定流量:{pump.RatedQ}m³/h" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.RatedH: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"额定扬程:{pump.RatedH}m" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.RatedP: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"额定功率:{pump.RatedP}kW" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.RatedN: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"额定转速:{pump.RatedN}r/min" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.CurrentHz: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"设定频率:{Math.Round(pump.RatedHz * pump.SpeedRatio, 1)}hz" |
| | | }; |
| | | } |
| | | break; |
| | | default: break; |
| | | } |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterCatalog.Valve: |
| | | { |
| | | var valve = visual as Yw.Model.HydroValveInfo; |
| | | switch (set.PropName) |
| | | { |
| | | case Yw.Hydro.ParterProp.LinkStatus: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"阀门状态:{HydroLinkStatusHelper.GetStatusName(valve.LinkStatus)}" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.ValveType: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"阀门类型:{HydroValveTypeHelper.GetTypeName(valve.ValveType)}" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.OpeningDegree: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"阀门开度:{valve.OpeningDegree}%" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.Diameter: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"直径:{valve.Diameter}mm" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.MinorLoss: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"局阻系数:{valve.MinorLoss}" |
| | | }; |
| | | } |
| | | break; |
| | | default: break; |
| | | } |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterCatalog.Exchanger: |
| | | { |
| | | var exchanger = visual as Yw.Model.HydroExchangerInfo; |
| | | switch (set.PropName) |
| | | { |
| | | case Yw.Hydro.ParterProp.LinkStatus: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"运行状态:{HydroLinkStatusHelper.GetStatusName(exchanger.LinkStatus)}" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.Diameter: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"直径:{exchanger.Diameter}mm" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.MinorLoss: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"局阻系数:{exchanger.MinorLoss}" |
| | | }; |
| | | } |
| | | break; |
| | | default: break; |
| | | } |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterCatalog.Compressor: |
| | | { |
| | | var compressor = visual as Yw.Model.HydroCompressorInfo; |
| | | switch (set.PropName) |
| | | { |
| | | case Yw.Hydro.ParterProp.LinkStatus: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"运行状态:{HydroLinkStatusHelper.GetStatusName(compressor.LinkStatus)}" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.Diameter: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"直径:{compressor.Diameter}mm" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.MinorLoss: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"局阻系数:{compressor.MinorLoss}" |
| | | }; |
| | | } |
| | | break; |
| | | default: break; |
| | | } |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterCatalog.Nozzle: |
| | | { |
| | | var nozzle = visual as Yw.Model.HydroNozzleInfo; |
| | | switch (set.PropName) |
| | | { |
| | | case Yw.Hydro.ParterProp.Elev: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"标高:{Math.Round(nozzle.Elev, 4)}m" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.Demand: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"需水量:{nozzle.Demand}m³/h" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.Coefficient: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"喷射系数:{nozzle.Coefficient}" |
| | | }; |
| | | } |
| | | break; |
| | | default: break; |
| | | } |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterCatalog.Hydrant: |
| | | { |
| | | var hydrant = visual as Yw.Model.HydroHydrantInfo; |
| | | switch (set.PropName) |
| | | { |
| | | case Yw.Hydro.ParterProp.Elev: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"标高:{Math.Round(hydrant.Elev, 4)}m" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.Demand: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"需水量:{hydrant.Demand}m³/h" |
| | | }; |
| | | } |
| | | break; |
| | | case Yw.Hydro.ParterProp.Coefficient: |
| | | { |
| | | result = new HydroMarkResultViewModel() |
| | | { |
| | | Code = visual.Code, |
| | | Text = $"喷射系数:{hydrant.Coefficient}" |
| | | }; |
| | | } |
| | | break; |
| | | default: break; |
| | | } |
| | | } |
| | | break; |
| | | default: break; |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | } |