| | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | public SimulationVisualVmListHelper(SimulationVisualListHelper visualListHelper, SimulationCalcuResultHelper calcuResultHelper) |
| | | public SimulationVisualVmListHelper |
| | | ( |
| | | SimulationVisualListHelper visualListHelper, |
| | | SimulationCalcuResultHelper calcuResultHelper |
| | | ) |
| | | { |
| | | _visualListHelper = visualListHelper; |
| | | _calcuResultHelper = calcuResultHelper; |
| | | _visualListHelper.InitialEvent += () => Initial(); |
| | | Initial(); |
| | | } |
| | | |
| | | private SimulationVisualListHelper _visualListHelper = null;//可见列表辅助类 |
| | | private SimulationCalcuResultHelper _calcuResultHelper = null;//计算结果辅助类 |
| | | private Dictionary<string, HydroVisualViewModel> _dict;//字典 |
| | | |
| | | //初始化 |
| | | private void Initial() |
| | | { |
| | | _dict = new Dictionary<string, HydroVisualViewModel>(); |
| | | var allVisualDict = _visualListHelper.GetVisualDict(); |
| | | if (allVisualDict != null && allVisualDict.Count > 0) |
| | | { |
| | | var allCalcuResultVisualDict = _calcuResultHelper.GetVisualDict(); |
| | | foreach (var visualKeyValue in allVisualDict) |
| | | { |
| | | var vm = HydroVisualViewModelBuilder.CreateVisualViewModel(visualKeyValue.Value, _visualListHelper.HydroInfo); |
| | | var calcuVisualResult = allCalcuResultVisualDict?.GetValue(visualKeyValue.Key); |
| | | if (calcuVisualResult != null) |
| | | { |
| | | vm.UpdateCalcuProperty(calcuVisualResult); |
| | | } |
| | | _dict.Add(visualKeyValue.Key, vm); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取可见视图字典 |
| | | /// </summary> |
| | | public Dictionary<string, HydroVisualViewModel> GetVisualDict() |
| | | { |
| | | if (_dict == null) |
| | | { |
| | | _dict = new Dictionary<string, HydroVisualViewModel>(); |
| | | var allVisualDict = _visualListHelper.GetVisualDict(); |
| | | if (allVisualDict != null && allVisualDict.Count > 0) |
| | | { |
| | | var allCalcuResultVisualDict = _calcuResultHelper.GetVisualDict(); |
| | | foreach (var visualKeyValue in allVisualDict) |
| | | { |
| | | var vm = HydroVisualViewModelBuilder.CreateVisualViewModel(visualKeyValue.Value, _visualListHelper.HydroInfo); |
| | | var calcuVisualResult = allCalcuResultVisualDict?.GetValue(visualKeyValue.Key); |
| | | if (calcuVisualResult != null) |
| | | { |
| | | vm.UpdateCalcuProperty(calcuVisualResult); |
| | | } |
| | | _dict.Add(visualKeyValue.Key, vm); |
| | | } |
| | | } |
| | | } |
| | | return _dict; |
| | | } |
| | | |
| | |
| | | public List<HydroVisualViewModel> GetVisualList() |
| | | { |
| | | var dict = GetVisualDict(); |
| | | return dict.Values.ToList(); |
| | | return dict?.Values.ToList(); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | return default; |
| | | } |
| | | var dict = GetVisualDict(); |
| | | if (dict == null || dict.Count < 1) |
| | | { |
| | | return default; |
| | | } |
| | | if (dict.ContainsKey(code)) |
| | | { |
| | | return dict[code]; |
| | |
| | | public void UpdateProperty() |
| | | { |
| | | var dict = GetVisualDict(); |
| | | dict.ForEach(x => x.Value.UpdateProperty()); |
| | | dict?.ForEach(x => x.Value.UpdateProperty()); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | public void UpdateCalcuProperty(HydroCalcuResult calcuResult) |
| | | { |
| | | var dict = GetVisualDict(); |
| | | if (dict == null || dict.Count < 1) |
| | | { |
| | | return; |
| | | } |
| | | var allCalcuResultVisualDict = calcuResult?.GetVisualDict(); |
| | | foreach (var visualKeyValue in dict) |
| | | { |