| | |
| | | /// </summary> |
| | | public event Action<XhsProjectVmo, XhsProjectSiteVmo, XhsSchemeVmo, HydroWorkingVmo, bool> ProjectSiteWorkingCheckedEvent; |
| | | /// <summary> |
| | | /// 项目站工况增加事件 |
| | | /// </summary> |
| | | public event Action<XhsProjectVmo, XhsProjectSiteVmo, XhsSchemeVmo, HydroWorkingVmo> ProjectSiteWorkingAppendEvent; |
| | | /// <summary> |
| | | /// 项目站工况更新事件 |
| | | /// </summary> |
| | | public event Action<XhsProjectVmo, XhsProjectSiteVmo, XhsSchemeVmo, HydroWorkingVmo> ProjectSiteWorkingUpdateEvent; |
| | |
| | | /// 创建项目站方案事件 |
| | | /// </summary> |
| | | public event Action<XhsProjectVmo, XhsProjectSiteVmo, Yw.Model.HydroModelInfo, SvgImage> CreateProjectSiteSchemeEvent; |
| | | /// <summary> |
| | | /// 项目站方案增加事件 |
| | | /// </summary> |
| | | public event Action<XhsProjectVmo, XhsProjectSiteVmo, XhsSchemeVmo> ProjectSiteSchemeAppendEvent; |
| | | /// <summary> |
| | | /// 项目站方案更新事件 |
| | | /// </summary> |
| | | public event Action<XhsProjectVmo, XhsProjectSiteVmo, XhsSchemeVmo> ProjectSiteSchemeUpdateEvent; |
| | | /// <summary> |
| | | /// 项目站方案移除事件 |
| | | /// </summary> |
| | | public event Action<XhsProjectVmo, XhsProjectSiteVmo, XhsSchemeVmo> ProjectSiteSchemeRemoveEvent; |
| | | |
| | | private XhsProjectVmo _project = null;//项目 |
| | | private XhsProjectSiteVmo _projectSite = null;//项目站 |
| | |
| | | overlay.Close(); |
| | | } |
| | | |
| | | //项目站概况 |
| | | private async void elementProjectSiteInfo_Click(object sender, EventArgs e) |
| | | { |
| | | await ShowInfo(); |
| | | } |
| | | |
| | | //项目站水力模拟 |
| | | private async void elementProjectSiteSimulation_Click(object sender, EventArgs e) |
| | | { |
| | | if (_project == null) |
| | | { |
| | | return; |
| | | } |
| | | if (_projectSite == null) |
| | | { |
| | | return; |
| | | } |
| | | var hydroInfo = await GetHydroInfo(null, true); |
| | | if (hydroInfo == null) |
| | | { |
| | | return; |
| | | } |
| | | this.ShowProjectSiteSimulationEvent?.Invoke(_project, _projectSite, null, hydroInfo, _allWorkingCheckedListDict, this.svgImg32[1]); |
| | | } |
| | | |
| | | //创建项目站方案 |
| | | private async void accordionControl1_ContextButtonClick(object sender, DevExpress.Utils.ContextItemClickEventArgs e) |
| | | { |
| | | if (_project == null) |
| | | { |
| | | return; |
| | | } |
| | | if (_projectSite == null) |
| | | { |
| | | return; |
| | | } |
| | | var element = e.DataItem as DevExpress.XtraBars.Navigation.AccordionControlElement; |
| | | if (element != this.elementProjectSiteSchemeList) |
| | | { |
| | | return; |
| | | } |
| | | var hydroInfo = await GetHydroInfo(null, true); |
| | | if (hydroInfo == null) |
| | | { |
| | | return; |
| | | } |
| | | this.CreateProjectSiteSchemeEvent?.Invoke(_project, _projectSite, hydroInfo, this.svgImg32[3]); |
| | | } |
| | | |
| | | private void accordionControl1_MouseClick(object sender, MouseEventArgs e) |
| | | { |
| | | if (e.Button == MouseButtons.Right) |
| | | { |
| | | this.popupMenu1.ShowPopup(MousePosition); |
| | | } |
| | | } |
| | | |
| | | private void barBtnCollpseAll_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | { |
| | | this.accordionControl1.CollapseAll(); |
| | | } |
| | | |
| | | private void barBtnExpandAll_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | { |
| | | this.accordionControl1.ExpandAll(); |
| | | } |
| | | |
| | | #region 通用方法 |
| | | |
| | | /// <summary> |
| | |
| | | { |
| | | if (_hydroInfo == null) |
| | | { |
| | | _hydroInfo = await GetHydroInfo(null); |
| | | hydroInfo = await GetHydroInfo(null); |
| | | if (_hydroInfo == null) |
| | | { |
| | | _hydroInfo = hydroInfo; |
| | | } |
| | | } |
| | | return _hydroInfo; |
| | | } |
| | |
| | | if (!_allSchemeHydroInfoDict.ContainsKey(scheme)) |
| | | { |
| | | hydroInfo = await GetHydroInfo(scheme); |
| | | if (!_allSchemeHydroInfoDict.ContainsKey(scheme)) |
| | | { |
| | | _allSchemeHydroInfoDict.Add(scheme, hydroInfo); |
| | | return hydroInfo; |
| | | } |
| | | } |
| | | return _allSchemeHydroInfoDict[scheme]; |
| | | } |
| | | |
| | | if (_allSchemeHydroInfoDict.ContainsKey(scheme)) |
| | |
| | | _allSchemeHydroInfoDict.Add(scheme, hydroInfo); |
| | | } |
| | | |
| | | return hydroInfo; |
| | | return _allSchemeHydroInfoDict[scheme]; |
| | | } |
| | | |
| | | //获取水力信息 |
| | |
| | | |
| | | /// <summary> |
| | | /// 添加方案 |
| | | /// 触发项目站方案增加事件 |
| | | /// </summary> |
| | | public void AppendScheme(XhsSchemeVmo scheme) |
| | | { |
| | |
| | | { |
| | | _allSchemeWorkingCheckedListDict.Add(scheme, new Dictionary<HydroWorkingVmo, bool>()); |
| | | } |
| | | this.ProjectSiteSchemeAppendEvent?.Invoke(_project, _projectSite, scheme); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 更新方案 |
| | | /// 触发项目站方案更新事件 |
| | | /// </summary> |
| | | public void UpdateScheme(XhsSchemeVmo scheme) |
| | | { |
| | | if (_project == null) |
| | | { |
| | | return; |
| | | } |
| | | if (_projectSite == null) |
| | | { |
| | | return; |
| | | } |
| | | if (scheme == null) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | var elementScheme = this.elementProjectSiteSchemeList.Elements |
| | | .FirstOrDefault(x => (x.Tag is XhsSchemeVmo) && (x.Tag as XhsSchemeVmo).ID == scheme.ID); |
| | | if (elementScheme == null) |
| | | { |
| | | return; |
| | | } |
| | | elementScheme.Text = scheme.Name; |
| | | elementScheme.Hint = scheme.Description; |
| | | elementScheme.Tag = scheme; |
| | | if (_allSchemeHydroInfoDict != null && _allSchemeHydroInfoDict.Count > 0) |
| | | { |
| | | var schemeKey = _allSchemeHydroInfoDict.Keys.FirstOrDefault(x => x.ID == scheme.ID); |
| | | if (schemeKey != null) |
| | | { |
| | | var hydroInfoValue = _allSchemeHydroInfoDict[schemeKey]; |
| | | _allSchemeHydroInfoDict.Remove(schemeKey); |
| | | _allSchemeHydroInfoDict.Add(scheme, hydroInfoValue); |
| | | } |
| | | } |
| | | if (_allSchemeWorkingCheckedListDict != null && _allSchemeWorkingCheckedListDict.Count > 0) |
| | | { |
| | | var schemeKey = _allSchemeWorkingCheckedListDict.Keys.FirstOrDefault(x => x.ID == scheme.ID); |
| | | if (schemeKey != null) |
| | | { |
| | | var workingCheckedValue = _allSchemeWorkingCheckedListDict[schemeKey]; |
| | | _allSchemeWorkingCheckedListDict.Remove(schemeKey); |
| | | _allSchemeWorkingCheckedListDict.Add(scheme, workingCheckedValue); |
| | | } |
| | | } |
| | | |
| | | this.ProjectSiteSchemeUpdateEvent?.Invoke(_project, _projectSite, scheme); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 移除方案 |
| | | /// </summary> |
| | | public void RemoveScheme(XhsSchemeVmo scheme) |
| | | { |
| | | if (_project == null) |
| | | { |
| | | return; |
| | | } |
| | | if (_projectSite == null) |
| | | { |
| | | return; |
| | | } |
| | | if (scheme == null) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | var elementScheme = this.elementProjectSiteSchemeList.Elements |
| | | .FirstOrDefault(x => (x.Tag is XhsSchemeVmo) && (x.Tag as XhsSchemeVmo).ID == scheme.ID); |
| | | if (elementScheme == null) |
| | | { |
| | | return; |
| | | } |
| | | if (elementScheme.Elements != null && elementScheme.Elements.Count > 0) |
| | | { |
| | | var workingElementList = elementScheme.Elements.ToList(); |
| | | foreach (var workingElement in workingElementList) |
| | | { |
| | | if (workingElement.HeaderControl != null) |
| | | { |
| | | this.accordionControl1.Controls.Remove(workingElement.HeaderControl); |
| | | } |
| | | elementScheme.Elements.Remove(workingElement); |
| | | } |
| | | } |
| | | this.elementProjectSiteSchemeList.Elements.Remove(elementScheme); |
| | | |
| | | if (this.elementProjectSiteSchemeList.Elements.Count < 1) |
| | | { |
| | | this.elementProjectSiteSchemeList.Style = DevExpress.XtraBars.Navigation.ElementStyle.Item; |
| | | } |
| | | |
| | | if (_allSchemeHydroInfoDict != null && _allSchemeHydroInfoDict.Count > 0) |
| | | { |
| | | var schemeKey = _allSchemeHydroInfoDict.Keys.FirstOrDefault(x => x.ID == scheme.ID); |
| | | if (schemeKey != null) |
| | | { |
| | | _allSchemeHydroInfoDict.Remove(schemeKey); |
| | | } |
| | | } |
| | | if (_allSchemeWorkingCheckedListDict != null && _allSchemeWorkingCheckedListDict.Count > 0) |
| | | { |
| | | var schemeKey = _allSchemeWorkingCheckedListDict.Keys.FirstOrDefault(x => x.ID == scheme.ID); |
| | | if (schemeKey != null) |
| | | { |
| | | _allSchemeWorkingCheckedListDict.Remove(schemeKey); |
| | | } |
| | | } |
| | | |
| | | this.ProjectSiteSchemeRemoveEvent?.Invoke(_project, _projectSite, scheme); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 添加工况 |
| | | /// 纯添加,不会触发事件 |
| | | /// 触发项目站工况增加事件 |
| | | /// </summary> |
| | | public void AppendWorking(XhsSchemeVmo scheme, Yw.Vmo.HydroWorkingVmo working) |
| | | { |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | this.ProjectSiteWorkingAppendEvent?.Invoke(_project, _projectSite, scheme, working); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | //项目站概况 |
| | | private async void elementProjectSiteInfo_Click(object sender, EventArgs e) |
| | | { |
| | | await ShowInfo(); |
| | | } |
| | | |
| | | //项目站水力模拟 |
| | | private async void elementProjectSiteSimulation_Click(object sender, EventArgs e) |
| | | { |
| | | if (_project == null) |
| | | { |
| | | return; |
| | | } |
| | | if (_projectSite == null) |
| | | { |
| | | return; |
| | | } |
| | | var hydroInfo = await GetHydroInfo(null, true); |
| | | if (hydroInfo == null) |
| | | { |
| | | return; |
| | | } |
| | | this.ShowProjectSiteSimulationEvent?.Invoke(_project, _projectSite, null, hydroInfo, _allWorkingCheckedListDict, this.svgImg32[1]); |
| | | } |
| | | |
| | | //创建项目站方案 |
| | | private async void accordionControl1_ContextButtonClick(object sender, DevExpress.Utils.ContextItemClickEventArgs e) |
| | | { |
| | | if (_project == null) |
| | | { |
| | | return; |
| | | } |
| | | if (_projectSite == null) |
| | | { |
| | | return; |
| | | } |
| | | var element = e.DataItem as DevExpress.XtraBars.Navigation.AccordionControlElement; |
| | | if (element != this.elementProjectSiteSchemeList) |
| | | { |
| | | return; |
| | | } |
| | | var hydroInfo = await GetHydroInfo(null, true); |
| | | if (hydroInfo == null) |
| | | { |
| | | return; |
| | | } |
| | | this.CreateProjectSiteSchemeEvent?.Invoke(_project, _projectSite, hydroInfo, this.svgImg32[3]); |
| | | } |
| | | |
| | | private void accordionControl1_MouseClick(object sender, MouseEventArgs e) |
| | | { |
| | | if (e.Button == MouseButtons.Right) |
| | | { |
| | | this.popupMenu1.ShowPopup(MousePosition); |
| | | } |
| | | } |
| | | |
| | | private void barBtnCollpseAll_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | { |
| | | this.accordionControl1.CollapseAll(); |
| | | } |
| | | |
| | | private void barBtnExpandAll_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | | { |
| | | this.accordionControl1.ExpandAll(); |
| | | } |
| | | } |
| | | } |