using DevExpress.Utils.Svg; namespace HStation.WinFrmUI { public partial class CreateXhsSchemeInfoPage : DevExpress.XtraEditors.XtraUserControl, Yw.WinFrmUI.IWizardPage { public CreateXhsSchemeInfoPage() { InitializeComponent(); } /// /// 页面状态改变事件 /// public event Action PageStateChangedEvent; /// /// 变更类型改变事件 /// public event Action> ChangeTypeChangedEvent; private CreateXhsSchemeViewModel _vm = null;//操作对象 private bool _isInitialize = false;//是否初始化 private bool _allow_next = false;//允许下一步 /// /// 初始化 /// public async void InitialPage(CreateXhsSchemeViewModel t) { if (_isInitialize) { return; } _vm = t; _isInitialize = true; var allFlagList = await BLLFactory.Instance.GetBySysType(HStation.Xhs.DataType.XhsScheme); if (allFlagList != null&& allFlagList.Any()) { this.setFlagsEditCtrl1.SetBindingData(allFlagList.Select(x => x.Name).ToList(), null); } this.xhsSchemeChangeTypeCheckedListHorizCtrl1.SetBindingData(t.HydroInfo); this.xhsSchemeChangeTypeCheckedListHorizCtrl1.CheckedChangedEvent += (change_type_list) => { if (change_type_list == null || !change_type_list.Any()) { _allow_next = false; } else { _allow_next = true; } this.ChangeTypeChangedEvent?.Invoke(change_type_list); this.PageStateChangedEvent?.Invoke(); }; if (t.Scheme == null) { t.Scheme = new XhsSchemeVmo(); if (t.AllSchemeList != null && t.AllSchemeList.Count > 0) { var sort_code= t.AllSchemeList.Max(x => x.SortCode) + 1; t.Scheme.SortCode = sort_code; this.txtName.EditValue = $"方案{sort_code}"; } } } //保存 private bool Save() { if (!_isInitialize) { return false; } this.dxErrorProvider1.ClearErrors(); if (string.IsNullOrEmpty(this.txtName.Text.Trim())) { this.dxErrorProvider1.SetError(this.txtName, "必填项"); return false; } _vm.Scheme.Name = this.txtName.Text.Trim(); _vm.Scheme.NO = this.txtNO.Text.Trim(); _vm.Scheme.SiteID = _vm.ProjectSite.ID; _vm.Scheme.Flags = this.setFlagsEditCtrl1.SelectedFlagList; _vm.Scheme.AllowCustom = this.ckAllowCustom.Checked; _vm.Scheme.ChangeTypes = this.xhsSchemeChangeTypeCheckedListHorizCtrl1.GetCheckedList(); _vm.Scheme.Description = this.txtDescription.Text.Trim(); return true; } /// /// 允许上一步 /// public bool AllowPrev { get { return false; } } /// /// 允许下一步 /// public bool AllowNext { get { return _allow_next; } } /// /// 允许取消 /// public bool AllowCancel { get { return true; } } /// /// 允许完成 /// public bool AllowComplete { get { if (!_isInitialize) return false; return !_allow_next; } } /// /// 能否上一步 /// public bool CanPrev() { return false; } /// /// 能否下一步 /// public bool CanNext() { if (!_isInitialize) { return false; } return Save(); } /// /// 能否关闭 /// public bool CanCancel() { return true; } /// /// 能否完成 /// public bool CanComplete() { if (!_isInitialize) { return false; } if (!Save()) return false; var bol = Task.Run(async () => await CreateXhsSchemeHelper.Create(_vm)).Result; return bol; } } }