291 lines
9.5 KiB
C#
291 lines
9.5 KiB
C#
using CloudBuilder.Core.Service;
|
|
using CloudBuilder.Gui;
|
|
using CloudBuilder.Request.Security;
|
|
using CloudBuilder.Security.Entity;
|
|
using CloudBuilder.Security.Policy;
|
|
using CloudBuilder.Security.SearchCriteria;
|
|
using Krypton.Toolkit;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace CloudBuilder.Security.Gui
|
|
{
|
|
public partial class SecurityMasterDialogPage : AbstractPage
|
|
{
|
|
private SecurityMessagePolicy securityMessagePolicy;
|
|
private SecurityMasterRequest securityMasterRequest;
|
|
private SecurityMasterEntity securityMasterEntity;
|
|
private bool allowCancel = false;
|
|
public SecurityMasterDialogPage()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 第一次加载时执行,只执行一次
|
|
/// </summary>
|
|
public override void FunctionLoaded()
|
|
{
|
|
try
|
|
{
|
|
base.FunctionLoaded();
|
|
//初始化容器-------------------------------------
|
|
securityMessagePolicy = ServiceHelper.GetTypeService<SecurityMessagePolicy>()!;
|
|
securityMasterRequest = ServiceHelper.GetTypeService<SecurityMasterRequest>();
|
|
|
|
//界面初始化
|
|
InitGui();
|
|
}
|
|
catch (ValidatedException ex)
|
|
{
|
|
ShowMessageBox.ShowInfo(ex.Message);
|
|
}
|
|
catch (ServiceErrorException ex)
|
|
{
|
|
ShowMessageBox.ShowError(ex.Message);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ShowMessageBox.ShowError(ex.Message);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 弹出界面调用,发生在FunctionLoaded()之后
|
|
/// </summary>
|
|
public override void InitInputData(object param, GuiDisplayMode mode)
|
|
{
|
|
base.InitInputData(param, mode);
|
|
if (mode == GuiDisplayMode.Create)
|
|
{
|
|
Create();
|
|
return;
|
|
}
|
|
|
|
SecurityMasterEntity securityMasterEntity = param as SecurityMasterEntity;
|
|
if (securityMasterEntity == null) return;
|
|
|
|
Search(new SecurityMasterEntityKey()
|
|
{
|
|
MasterCategory = securityMasterEntity.MasterCategory,
|
|
MasterSubcategory = securityMasterEntity.MasterSubcategory,
|
|
MasterCodeItem = securityMasterEntity.MasterCodeItem
|
|
});
|
|
|
|
if (mode == GuiDisplayMode.Amend)
|
|
{
|
|
Amend();
|
|
}
|
|
}
|
|
|
|
private void InitGui()
|
|
{
|
|
InitBindingContext();
|
|
InitCombo();
|
|
InitDisplayMode();
|
|
|
|
this.ParentAbstractForm.AcceptButton = this.okBut;
|
|
|
|
// 手动处理 ESC 键
|
|
this.ParentAbstractForm.KeyPreview = true; // 允许表单接收按键事件
|
|
this.ParentAbstractForm.KeyDown += (sender, e) =>
|
|
{
|
|
if (e.KeyCode == Keys.Escape)
|
|
{
|
|
this.ParentAbstractForm.DialogResult = DialogResult.Cancel;
|
|
this.ParentAbstractForm.Close();
|
|
}
|
|
};
|
|
}
|
|
|
|
private void InitCombo()
|
|
{
|
|
validIndcCombo.SetDataSource(YesNoPolicy.GetInstance().GetComposeMessages(), true);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 有特殊要求的UI控件初始化设置,Init与Add配对后,使用guiOperateHelper管理
|
|
/// </summary>
|
|
private void InitBindingContext()
|
|
{
|
|
//需要绑定数据
|
|
guiBindingContext = new GuiBindingContext();
|
|
|
|
masterCategoryTxt.Set(SecurityMasterEntity.MASTER_CATEGORY, masterCategoryLabel.Text, EnumEditModeColor.Required);
|
|
masterSubcategoryTxt.Set(SecurityMasterEntity.MASTER_SUBCATEGORY, masterSubcategoryLabel.Text,EnumEditModeColor.Required);
|
|
masterCodeItemTxt.Set(SecurityMasterEntity.MASTER_CODE_ITEM, masterCodeItemLabel.Text, EnumEditModeColor.Required);
|
|
localDescriptionTxt.Set(SecurityMasterEntity.LOCAL_DESCRIPTION);
|
|
engDescriptionTxt.Set(SecurityMasterEntity.ENG_DESCRIPTION);
|
|
valueTxt.Set(SecurityMasterEntity.VALUE, valueLabel.Text, EnumEditModeColor.Required);
|
|
validIndcCombo.Set(SecurityMasterEntity.VALID_INDC, validIndcLabel.Text, EnumEditModeColor.Required);
|
|
orderByTxt.Set(SecurityMasterEntity.ORDER_BY, orderByLabel.Text, EnumEditModeColor.Required);
|
|
remarkTxt.Set(SecurityMasterEntity.REMARK);
|
|
|
|
guiOperateHelper = new GuiOperateHelper();
|
|
}
|
|
|
|
private void InitDisplayMode()
|
|
{
|
|
this.DisplayMode = GuiDisplayMode.View;
|
|
|
|
SetDisplayMode();
|
|
}
|
|
|
|
private void SetDisplayMode()
|
|
{
|
|
if (this.DisplayMode == GuiDisplayMode.View)
|
|
{
|
|
okBut.Visible = false;
|
|
guiOperateHelper.EnableControls(false, contentPanel);
|
|
}
|
|
else if (this.DisplayMode == GuiDisplayMode.Amend || this.DisplayMode == GuiDisplayMode.Create)
|
|
{
|
|
okBut.Visible = true;
|
|
guiOperateHelper.EnableControls(true, contentPanel);
|
|
|
|
if (this.DisplayMode == GuiDisplayMode.Amend) guiOperateHelper.EnableControls(false, masterCategoryTxt, masterCodeItemTxt, masterSubcategoryTxt);
|
|
}
|
|
}
|
|
|
|
private void PackUIToEntity()
|
|
{
|
|
guiBindingContext.DataPack();
|
|
securityMasterEntity.MasterCategory = masterCategoryTxt.Text;
|
|
securityMasterEntity.MasterSubcategory = masterSubcategoryTxt.Text;
|
|
securityMasterEntity.MasterCodeItem = masterCodeItemTxt.Text;
|
|
securityMasterEntity.Value = valueTxt.Text;
|
|
//.....
|
|
}
|
|
|
|
private bool SaveValidate()
|
|
{
|
|
if (!guiOperateHelper.CheckValidate(this.mainPanel)) return false;
|
|
|
|
return true;
|
|
}
|
|
|
|
private void Search(SecurityMasterEntityKey masterEntityKey)
|
|
{
|
|
try
|
|
{
|
|
securityMasterEntity = securityMasterRequest.FindByKey(masterEntityKey);
|
|
|
|
if (securityMasterEntity == null)
|
|
{
|
|
ShowMessageBox.ShowInfo(securityMessagePolicy.ComposeMessage(SecurityMessagePolicy.GUI_WS_RECORD_NOT_FOUND));
|
|
}
|
|
else
|
|
{
|
|
PackEntityToUI();
|
|
|
|
SetDisplayMode();
|
|
}
|
|
}
|
|
catch (ValidatedException ex)
|
|
{
|
|
ShowMessageBox.ShowInfo(ex.Message);
|
|
}
|
|
catch (ServiceErrorException ex)
|
|
{
|
|
ShowMessageBox.ShowError(ex.Message);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ShowMessageBox.ShowError(ex.Message);
|
|
}
|
|
}
|
|
|
|
private void Create()
|
|
{
|
|
this.DisplayMode = GuiDisplayMode.Create;
|
|
|
|
guiOperateHelper.ResetControls(this.mainPanel);
|
|
|
|
SetDisplayMode();
|
|
|
|
securityMasterEntity = new SecurityMasterEntity()
|
|
{
|
|
CreatedBy = string.Empty,
|
|
UpdatedBy = string.Empty,
|
|
CreatedDatetime = DateTime.Now,
|
|
UpdatedDatetime = DateTime.Now,
|
|
};
|
|
|
|
PackEntityToUI();
|
|
}
|
|
|
|
private void Amend()
|
|
{
|
|
this.DisplayMode = GuiDisplayMode.Amend;
|
|
|
|
SetDisplayMode();
|
|
}
|
|
|
|
private void PackEntityToUI()
|
|
{
|
|
guiBindingContext.DataBind(securityMasterEntity, this);
|
|
|
|
}
|
|
|
|
private void okBut_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (!SaveValidate()) return;
|
|
|
|
PackUIToEntity();
|
|
|
|
|
|
if (this.DisplayMode == GuiDisplayMode.Create)
|
|
securityMasterRequest.Insert(securityMasterEntity);
|
|
else
|
|
securityMasterRequest.Update(securityMasterEntity);
|
|
|
|
|
|
ShowMessageBox.ShowInfo((this.DisplayMode == GuiDisplayMode.Create) ?
|
|
securityMessagePolicy.ComposeMessage(SecurityMessagePolicy.GUI_SUCCEED_CREATED_NULL) :
|
|
securityMessagePolicy.ComposeMessage(SecurityMessagePolicy.GUI_SUCCEED_UPDATED_NULL));
|
|
|
|
this.ParentAbstractForm.OutputData = securityMasterEntity;
|
|
|
|
this.ParentAbstractForm.DialogResult = DialogResult.OK;
|
|
}
|
|
catch (ValidatedException ex)
|
|
{
|
|
ShowMessageBox.ShowInfo(ex.Message);
|
|
}
|
|
catch (ServiceErrorException ex)
|
|
{
|
|
ShowMessageBox.ShowError(ex.Message);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ShowMessageBox.ShowError(ex.Message);
|
|
}
|
|
|
|
}
|
|
|
|
private void cancelBut_Click(object sender, EventArgs e)
|
|
{
|
|
if (GuiDisplayMode.View != this.DisplayMode)
|
|
{
|
|
DialogResult result = ShowMessageBox.ShowOption(securityMessagePolicy.ComposeMessage(SecurityMessagePolicy.GUI_CONFIRM_CANCEL), securityMessagePolicy.ComposeMessage(SecurityMessagePolicy.GUI_CONFIRM));
|
|
|
|
if (result == DialogResult.No)
|
|
{
|
|
return;
|
|
}
|
|
}
|
|
|
|
this.ParentAbstractForm.DialogResult = DialogResult.Cancel;
|
|
}
|
|
}
|
|
}
|