namespace HStation.WinFrmUI
|
{
|
public partial class CreateXhsSchemeInfoPage : DevExpress.XtraEditors.XtraUserControl, Yw.WinFrmUI.IWizardPageAsync<CreateXhsSchemeViewModel>
|
{
|
public CreateXhsSchemeInfoPage()
|
{
|
InitializeComponent();
|
this.layoutControl1.SetupLayoutControl();
|
this.xhsSchemeChangeTypeCheckedListHorizCtrl1.CheckedChangedEvent += XhsSchemeChangeTypeCheckedListHorizCtrl1_CheckedChangedEvent;
|
}
|
|
/// <summary>
|
/// 页面状态改变事件
|
/// </summary>
|
public event Action PageStateChangedEvent;
|
|
private CreateXhsSchemeViewModel _vm = null;//操作对象
|
|
|
/// <summary>
|
/// 初始化
|
/// </summary>
|
public async void InitialPage(CreateXhsSchemeViewModel vm)
|
{
|
if (vm == null)
|
{
|
return;
|
}
|
_vm = vm;
|
if (vm.Scheme == null)
|
{
|
vm.Scheme = new XhsSchemeVmo() { SiteID = vm.ProjectSite.ID };
|
vm.Scheme.Name = Yw.Untity.UniqueHelper.CreateFromFirst("方案", vm.AllSchemeList?.Select(x => x.Name).Distinct().ToList());
|
vm.Scheme.SortCode = vm.AllSchemeList == null || vm.AllSchemeList.Count < 1 ? 1 : vm.AllSchemeList.Max(x => x.SortCode) + 1;
|
}
|
this.txtName.EditValue = vm.Scheme.Name;
|
this.txtNO.EditValue = vm.Scheme.NO;
|
var allFlagList = await BLLFactory<Yw.BLL.SysFlag>.Instance.GetBySysType(HStation.Xhs.DataType.XhsScheme);
|
this.setFlagsEditCtrl1.SetBindingData(allFlagList?.Select(x => x.Name).ToList(), vm.Scheme.Flags);
|
this.ckAllowCustom.Checked = vm.Scheme.AllowCustom;
|
this.txtDescription.EditValue = vm.Scheme.Description;
|
this.xhsSchemeChangeTypeCheckedListHorizCtrl1.SetBindingData(vm.HydroInfo, vm.Scheme.ChangeTypes);
|
}
|
|
//选择改变
|
private void XhsSchemeChangeTypeCheckedListHorizCtrl1_CheckedChangedEvent(List<string> changeTypes)
|
{
|
this.PageStateChangedEvent?.Invoke();
|
}
|
|
/// <summary>
|
/// 允许上一步
|
/// </summary>
|
public bool AllowPrev
|
{
|
get
|
{
|
return false;
|
}
|
}
|
|
/// <summary>
|
/// 允许下一步
|
/// </summary>
|
public bool AllowNext
|
{
|
get
|
{
|
return true;
|
}
|
}
|
|
/// <summary>
|
/// 允许取消
|
/// </summary>
|
public bool AllowCancel
|
{
|
get
|
{
|
return true;
|
}
|
}
|
|
/// <summary>
|
/// 允许完成
|
/// </summary>
|
public bool AllowComplete
|
{
|
get
|
{
|
return false;
|
}
|
}
|
|
/// <summary>
|
/// 能否上一步
|
/// </summary>
|
public Task<bool> CanPrev()
|
{
|
return Task.Run(() => false);
|
}
|
|
/// <summary>
|
/// 能否下一步
|
/// </summary>
|
public Task<bool> CanNext()
|
{
|
return Task.Run(() => Save());
|
}
|
|
/// <summary>
|
/// 能否关闭
|
/// </summary>
|
public Task<bool> CanCancel()
|
{
|
return Task.Run(() => true);
|
}
|
|
/// <summary>
|
/// 能否完成
|
/// </summary>
|
public Task<bool> CanComplete()
|
{
|
return Task.Run(() => false);
|
}
|
|
//验证
|
private bool Valid()
|
{
|
this.dxErrorProvider1.ClearErrors();
|
var name = this.txtName.Text.Trim();
|
if (string.IsNullOrEmpty(name))
|
{
|
this.dxErrorProvider1.SetError(this.txtName, "必填项");
|
return false;
|
}
|
|
|
return true;
|
}
|
|
//保存
|
private bool Save()
|
{
|
if (!Valid())
|
{
|
return false;
|
}
|
_vm.Scheme.Name = this.txtName.Text.Trim();
|
_vm.Scheme.NO = this.txtNO.Text.Trim();
|
_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();
|
InitialVisualViewModelList();
|
return true;
|
}
|
|
//初始化可见视图列表
|
private void InitialVisualViewModelList()
|
{
|
if (_vm == null)
|
{
|
return;
|
}
|
if (_vm.HydroInfo == null)
|
{
|
return;
|
}
|
if (_vm.AllVisualViewModelList != null)
|
{
|
return;
|
}
|
if (_vm.Scheme.ChangeTypes == null || _vm.Scheme.ChangeTypes.Count < 1)
|
{
|
return;
|
}
|
_vm.AllVisualViewModelList = new List<HydroVisualViewModel>();
|
var allVisualList = _vm.HydroInfo.GetAllVisuals();
|
foreach (var visual in allVisualList)
|
{
|
var vm = HydroVisualViewModelBuilder.CreateVisualViewModel(visual, _vm.HydroInfo);
|
_vm.AllVisualViewModelList.Add(vm);
|
}
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
}
|