#region
using System;
using System.Data;
using CSFrameworkV5.Business;
using CSFrameworkV5.Business.BLL_Permission;
using CSFrameworkV5.CodeGeneratorCore;
using CSFrameworkV5.Core;
using CSFrameworkV5.Library.CommonClass;
using CSFrameworkV5.Library.UIForm;
using CSFrameworkV5.Models;
#endregion
namespace CSFrameworkV5.Library.PermissionForms
{
public partial class frmGroupOrganization_Editor : frmBaseUI
{
private bllGroup _BLL = new bllGroup();
private DataTable _DataSource;
private string _RowID = ""; //主键值,当前组织架构的主键值。若是新增记录,返回新的GUID值。
private bool _SaveOK; //是否保存成功
//私有构造器
private frmGroupOrganization_Editor()
{
InitializeComponent();
}
private void btnClose_Click(object sender, EventArgs e)
{
Close();
}
private void btnSave_Click(object sender, EventArgs e)
{
//重要! 必须结束当前记录的编辑状态
_DataSource.Rows[0].EndEdit();
var dtTmp = _DataSource.GetChanges();
dtTmp.Rows[0][tb_MyGroup.LastUpdateDate] = DateTime.Now;
dtTmp.Rows[0][tb_MyGroup.LastUpdatedBy] =
Loginer.CurrentUser.Account;
//dtTmp.Rows[0][tb_MyGroup.ParentGroupCode] = txtParentGroupCode.EditValue;
_SaveOK = _BLL.Update(dtTmp);
if (_SaveOK)
{
_RowID = dtTmp.Rows[0][tb_MyGroup.RowID].ToStringEx();
MsgEx.ShowInformation("保存成功!");
Close();
}
}
///
/// 打开编辑窗体
///
/// 当前组织架构的主键值。若是新增记录,返回新的GUID值
/// 是否保存成功
public static bool Execute(ref string rowID)
{
var form = new frmGroupOrganization_Editor();
form.InitEditor(rowID);
form.ShowDialog();
rowID = form._RowID;
return form._SaveOK;
}
private void frmGroupOrganization_Editor_Load(object sender,
EventArgs e)
{
}
private void InitEditor(string rowID)
{
//记录主键为空,新增组织架构
if (string.IsNullOrEmpty(rowID))
{
//获取空数据源
_DataSource = _BLL.GetDataByKey("-");
//添加一条记录,并设置主键值RowID
_DataSource.Rows.Add(_DataSource.NewRow());
_DataSource.Rows[0][tb_MyGroup.RowID] =
Guid.NewGuid().ToStringEx().Replace("-", "");
_DataSource.Rows[0][tb_MyGroup.DataSetID] =
Loginer.CurrentUser.DBID;
}
else //编辑组织架构
{
//绑定数据源
_DataSource = _BLL.GetDataByKey(rowID);
txtGroupCode.Enabled = false;
txtParentGroupCode.Enabled = false;
}
var attrs = DataDictCache.Cache.CustomerAttributes;
txtAttributeCodes.BindingDataSource(attrs, "AttributeCode",
"NativeName");
DataBinderTools.BoundUser(txtOwner1);
DataBinderTools.BoundUser(txtOwner2);
DataBinderTools.BoundUser(txtLastUpdatedBy);
DataBinderTools.BoundOrganization(txtParentGroupCode, imageList1);
DataBinderTools.BoundCheckEdit(txtIsVisible);
//绑定输入框数据源
CommonTools.DoBindingEditorPanel(pcEditor, _DataSource);
//在此可绑定其它自定义的输入框,参考frmCustomer的DoBindingSummaryEditor方法
DataBinder.BindingControl(txtAttributeCodes, _DataSource,
tb_MyGroup.AttributeCodes, "EditValue");
DataBinder.BindingControl(txtParentGroupCode, _DataSource,
tb_MyGroup.ParentGroupCode, "EditValue");
DataBinder.BindingCheckEdit(txtIsVisible, _DataSource,
tb_MyGroup.IsVisible);
//CommonTools.SetEditorBindingValue(txtParentGroupCode, _DataSource.Rows[0][tb_MyGroup.ParentGroupCode], true);
btnClose.Focus();
}
//检查主表数据完整性
protected bool ValidatingData()
{
if (ConvertEx.ToString(txtGroupCode.EditValue).Trim() ==
string.Empty)
{
MsgEx.ShowWaring("组织编号不能为空!");
txtGroupCode.Focus();
return false;
}
if (ConvertEx.ToString(txtGroupName.EditValue).Trim() ==
string.Empty)
{
MsgEx.ShowWaring("组织名称不能为空!");
txtGroupName.Focus();
return false;
}
if (ConvertEx.ToString(txtAttributeCodes.EditValue).Trim() ==
string.Empty)
{
MsgEx.ShowWaring("类别不能为空!");
txtAttributeCodes.Focus();
return false;
}
if (ConvertEx.ToString(txtOwner1.EditValue).Trim() == string.Empty)
{
MsgEx.ShowWaring("主管不能为空!");
txtOwner1.Focus();
return false;
}
return true;
}
}
}