namespace HStation.WinFrmUI
|
{
|
public partial class InputXhsProjectInfoWizardPage : DevExpress.XtraEditors.XtraUserControl, Yw.WinFrmUI.IWizardPageAsync<ImportXhsProjectViewModel>
|
{
|
public InputXhsProjectInfoWizardPage()
|
{
|
InitializeComponent();
|
}
|
|
/// <summary>
|
/// 页面状态改变事件
|
/// </summary>
|
public event Action PageStateChangedEvent;
|
|
private ImportXhsProjectViewModel _vm = null;//操作对象
|
|
/// <summary>
|
/// 初始化
|
/// </summary>
|
public async void InitialPage(ImportXhsProjectViewModel vm)
|
{
|
if (vm == null)
|
{
|
return;
|
}
|
_vm = vm;
|
if (vm.Project == null)
|
{
|
vm.Project = new XhsProjectExtensionsVmo()
|
{
|
SiteList = new List<XhsProjectSiteVmo>()
|
{
|
new()
|
}
|
};
|
}
|
this.txtName.EditValue = vm.Project.Name;
|
this.txtCustomer.EditValue = vm.Project.Customer;
|
var allFlagList = await BLLFactory<Yw.BLL.SysFlag>.Instance.GetBySysType(HStation.Xhs.DataType.XhsProject);
|
this.setFlagsEditCtrl1.SetBindingData(allFlagList?.Select(x => x.Name).ToList(), vm.Project.Flags);
|
this.txtTagNme.EditValue = vm.Project.TagName;
|
this.txtDescription.EditValue = vm.Project.Description;
|
}
|
|
/// <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 async Task<bool> CanNext()
|
{
|
if (_vm == null)
|
{
|
return false;
|
}
|
this.dxErrorProvider1.ClearErrors();
|
var name = this.txtName.Text.Trim();
|
if (string.IsNullOrEmpty(name))
|
{
|
this.dxErrorProvider1.SetError(this.txtName, "必填项");
|
return false;
|
}
|
var tagName = this.txtTagNme.Text.Trim();
|
if (!string.IsNullOrEmpty(tagName))
|
{
|
if (_vm.Project.ID < 1)
|
{
|
if (await BLLFactory<HStation.BLL.XhsProject>.Instance.IsExistTagName(tagName))
|
{
|
this.dxErrorProvider1.SetError(this.txtTagNme, "标记已存在");
|
return false;
|
}
|
}
|
else
|
{
|
if (await BLLFactory<HStation.BLL.XhsProject>.Instance.IsExistTagNameExceptID(tagName, _vm.Project.ID))
|
{
|
this.dxErrorProvider1.SetError(this.txtTagNme, "标记已存在");
|
return false;
|
}
|
}
|
}
|
_vm.Project.Name = name;
|
_vm.Project.Customer = this.txtCustomer.Text.Trim();
|
_vm.Project.Flags = this.setFlagsEditCtrl1.SelectedFlagList;
|
_vm.Project.TagName = tagName;
|
_vm.Project.Description = this.txtDescription.Text.Trim();
|
_vm.Project.SiteList.First().Name = name;
|
return true;
|
}
|
|
/// <summary>
|
/// 能否关闭
|
/// </summary>
|
public Task<bool> CanCancel()
|
{
|
return Task.Run(() => true);
|
}
|
|
/// <summary>
|
/// 能否完成
|
/// </summary>
|
public Task<bool> CanComplete()
|
{
|
return Task.Run(() => false);
|
}
|
|
//选择文件
|
private void btnEditSelectModelFile_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
|
{
|
if (e.Button.Tag.ToString() == "Local")
|
{
|
var suffix = Settings.XhsParasHelper.Xhs.File.Suffix;
|
var dlg = new OpenFileDialog();
|
dlg.Filter = $"模型文件(*{suffix})|*{suffix}";
|
dlg.FilterIndex = 1;
|
if (dlg.ShowDialog() == DialogResult.OK)
|
{
|
var fileName = dlg.FileName;
|
this.btnEditSelectModelFile.EditValue = fileName;
|
_vm.IsLocal = true;
|
_vm.LocalZipFile = fileName;
|
}
|
}
|
else
|
{
|
var dlg = new SelectXhsProjectTransferFileDlg();
|
dlg.SetBindingData();
|
dlg.ReloadDataEvent += (rhs) =>
|
{
|
this.btnEditSelectModelFile.EditValue = rhs.FileName;
|
_vm.IsLocal = false;
|
_vm.TransferRevitFile = rhs;
|
};
|
dlg.ShowDialog();
|
}
|
}
|
|
|
}
|
}
|