#region
using System;
using System.Collections.Generic;
using System.Drawing;
using CSFrameworkV5.Business;
using CSFrameworkV5.Common;
using CSFrameworkV5.Core;
using CSFrameworkV5.Library.CommonClass;
#endregion
namespace CSFrameworkV5.Library
{
public partial class frmBaseEditorQueryBusiness : frmBaseEditorQuery,
IBusinessSupportable
{
protected bllBaseBusiness _BLL = null;
public frmBaseEditorQueryBusiness()
{
InitializeComponent();
}
private void frmBaseEditorQueryBusiness_Load(object sender, EventArgs e)
{
//
}
public override void InitButtons()
{
base.InitButtons();
var dataButton = GetBusinessButtons(); //数据操作按钮
Buttons.AddRange(dataButton);
}
#region IBusinessSupportable 成员
///
/// 返回业务单据窗体的按钮数组
///
///
public virtual IButtonInfo[] GetBusinessButtons()
{
var list = new List();
//审核/反审
if (ButtonAuthorized(ButtonAuthority.APPROVAL))
{
list.Add(ToolbarRegister.CreateButton("btnApproval", "审核",
ToolBarGroup.审核功能,
Globals.LoadBitmap("24_Approval.ico"), new Size(57, 28),
true, false, DoApproval));
list.Add(ToolbarRegister.CreateButton("btnApprovalUndo", "反审",
ToolBarGroup.审核功能,
Globals.LoadBitmap("24_ApprovalUndo.ico"), new Size(57, 28),
true, false, DoApprovalUndo));
}
//查看日志
if (ButtonAuthorized(ButtonAuthority.SHOW_MOD_HISTORY))
list.Add(ToolbarRegister.CreateButton("btnShowModifyHistory",
"查看日志", ToolBarGroup.扩展功能1,
Globals.LoadBitmap("32_EditLog.png"), new Size(57, 28),
true, true, DoShowModifyHistory));
return list.ToArray();
}
///
/// 审核单据
///
///
public virtual void DoApproval(IButtonInfo button)
{
AssertFocusedRow();
var row = _SummaryView.GetDataRow(_SummaryView.FocusedRowHandle);
var docNo = row[_BLL.KeyFieldName].ToStringEx();
if (_BLL.IsApproved(row))
{
Msg.Warning($"单据<{docNo}>已经审核,不可重复操作!");
}
else
{
if (Msg.AskQuestion($"确定要审核单据<{docNo}>吗?"))
{
_BLL.ApprovalBusiness(row); //审核单据
_SummaryView.RefreshRow(_SummaryView.FocusedRowHandle);
DoViewContent(null); //显示单据明细
}
}
}
public virtual void DoApprovalUndo(IButtonInfo button)
{
AssertFocusedRow();
var row = _SummaryView.GetDataRow(_SummaryView.FocusedRowHandle);
var docNo = row[_BLL.KeyFieldName].ToStringEx();
if (!_BLL.IsApproved(row))
{
Msg.Warning($"单据<{docNo}>没有审核,不需要反审核操作!");
}
else
{
if (Msg.AskQuestion($"确定要反审核单据<{docNo}>吗?"))
{
_BLL.ApprovalBusinessUndo(row); //审核单据
_SummaryView.RefreshRow(_SummaryView.FocusedRowHandle);
DoViewContent(null); //显示单据明细
}
}
}
///
/// 查看单据的修改历史记录
///
///
public virtual void DoShowModifyHistory(IButtonInfo button)
{
AssertFocusedRow();
var form = MdiTools.OpenChildForm(MdiParent as IMdiForm,
typeof(frmLogEditHistory), false);
if (form != null)
{
var keyValue = "";
if (tcBusiness.SelectedTabPageIndex == 0) //数据查看
keyValue =
_SummaryView.GetDataRow(_SummaryView.FocusedRowHandle)[
_BLL.KeyFieldName].ToStringEx();
else //数据编辑
keyValue = _BLL.DataBinder != null
? _BLL.DataBindRow[_BLL.KeyFieldName].ToStringEx()
: "";
(form as frmLogEditHistory).ShowData(_BLL.SummaryTableName,
keyValue, DateTime.Today);
}
}
///
/// 外部调用接口,显示单据
///
/// 单据号码
public virtual void ShowBusiness(string docNo)
{
Msg.ShowInformation("请在派生类实现些方法,主键:" + docNo);
}
#endregion
}
}