/*******************************************************************************
* Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
* 类的信息:
* 1.程序名称:F_TAT_0303.cs
* 2.功能描述:新建/编辑/复制基本工资信息
* 编辑履历:
* 作者 日期 版本 修改内容
* 任海 2014/12/11 1.00 新建
*******************************************************************************/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Dongke.IBOSS.PRD.Basics.BaseControls;
using Dongke.IBOSS.PRD.Basics.BaseResources;
using Dongke.IBOSS.PRD.Client.CommonModule;
using Dongke.IBOSS.PRD.WCF.DataModels;
using Dongke.IBOSS.PRD.WCF.Proxys;
using Dongke.IBOSS.PRD.WCF.Proxys.TATModuleService;
namespace Dongke.IBOSS.PRD.Client.TATModule
{
///
///新建/编辑/复制基本工资信息
///
public partial class F_TAT_0303 : FormBase
{
#region 成员变量
// 窗体模式ID
private Constant.FormMode _formType;
// 操作实体ID
private int? _entityId;
// 操作实体名称
private string _entityname;
// 操作实体信息
private BasicSalaryEntity _dfEntity = new BasicSalaryEntity();
#endregion
#region 构造函数
///
/// 窗体构造
///
/// 窗体打开模式
/// 操作实体ID
public F_TAT_0303(Constant.FormMode formType, int entityId)
{
InitializeComponent();
_formType = formType;
_entityId = entityId;
}
#endregion
#region 事件处理
private void F_TAT_0303_Load(object sender, EventArgs e)
{
try
{
if (this._formType == Constant.FormMode.Add)
{
this.Text = FormTitles.F_TAT_0303_ADD;
}
else if (this._formType == Constant.FormMode.Edit)
{
this.Text = FormTitles.F_TAT_0303_EDIT;
}
else if (this._formType == Constant.FormMode.CopyAndAdd)
{
this.Text = FormTitles.F_TAT_0303_COPY;
}
else if (this._formType == Constant.FormMode.Display)
{
this.Text = FormTitles.F_TAT_0303_AUDIT;
}
//设定按钮的文本值
this.btnSubmit.Text = ButtonText.BTN_SAVE;
this.btnClose.Text = ButtonText.BTN_CANCEL;
this.btnPass.Text = Constant.BUTTON_TEXT_AUDITPASS;
this.btnReturn.Text = Constant.BUTTON_TEXT_AUDITRETURN;
//如果是修改,要绑定选中的信息
if (this._formType == Constant.FormMode.Edit)
{
this.BindPage();
}
//如果是新建,选项默认值设定
else if (this._formType == Constant.FormMode.Add || this._formType == Constant.FormMode.CopyAndAdd)
{
this.cbCeremonial.Checked = true;
}
//如果是审核,绑定值后,所有控件不可用,保存按钮变为明细按钮,并且审批通过与不通过按钮变为可见
else
{
//绑定页面实体成员变量
this.BindPage();
this.txtBasicSalaryName.Enabled = false;
this.txtRemarks.Enabled = false;
this.dtpStartTime.Enabled = false;
this.cbCeremonial.Enabled = false;
this.cbTrial.Enabled = false;
this.btnSubmit.Text = Constant.BUTTON_TEXT_DETAIL;
this.btnPass.Visible = true;
this.btnReturn.Visible = true;
}
}
catch (Exception ex)
{
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
}
///
/// 提交操作
///
///
///
private void btnSubmit_Click(object sender, EventArgs e)
{
//如果是审批以外的状态,进行添加信息相关的操作
if (this._formType != Constant.FormMode.Display)
{
//首先验证数据合法性
if (this.ValidationInput() == false)
{
return;
}
//为实体绑定属性
this.BindEntity();
//进行添加操作
ServiceResultEntity srEntity = (ServiceResultEntity)DoAsync(() =>
{
return EntityToServer();
});
//服务实体共通处理
ServiceResultEntityManager.HandleServiceResultEntity(srEntity, this.Text);
if (srEntity.Status == Constant.ServiceResultStatus.Success)
{
this.DialogResult = DialogResult.OK;
}
}
else//审批操作的话,只打开明细的查看模式就可以了
{
//模式化开启明细窗体
F_TAT_0302 frmTAT0302 = new F_TAT_0302(Constant.FormMode.Display, Convert.ToInt32(this._entityId), Convert.ToString(this._entityname));
DialogResult dialogResult = frmTAT0302.ShowDialog();
}
}
///
/// 审批通过
///
///
///
private void btnPass_Click(object sender, EventArgs e)
{
//进行审核操作
this._dfEntity.AuditStatus = Convert.ToInt32(Constant.AuditStatus.Agree);
ServiceResultEntity srEntity = (ServiceResultEntity)DoAsync(() =>
{
return EntityToServer();
});
//服务实体共通处理
ServiceResultEntityManager.HandleServiceResultEntity(srEntity, this.Text);
if (srEntity.Status == Constant.ServiceResultStatus.Success)
{
this.DialogResult = DialogResult.OK;
}
}
///
/// 审批驳回
///
///
///
private void btnReturn_Click(object sender, EventArgs e)
{
//进行审核操作
this._dfEntity.AuditStatus = Convert.ToInt32(Constant.AuditStatus.Disagree);
ServiceResultEntity srEntity = (ServiceResultEntity)DoAsync(() =>
{
return EntityToServer();
});
//服务实体共通处理
ServiceResultEntityManager.HandleServiceResultEntity(srEntity, this.Text);
if (srEntity.Status == Constant.ServiceResultStatus.Success)
{
this.DialogResult = DialogResult.OK;
}
}
///
/// 窗体关闭
///
///
///
private void btnClose_Click(object sender, EventArgs e)
{
//this.DialogResult = DialogResult.OK;
this.Close();
}
#endregion
#region 私有方法/函数
///
/// 绑定需要操作的实体信息
///
private void BindPage()
{
if (this._entityId != 0 && this._entityId != null)
{
this._dfEntity.BasicSalaryID = this._entityId;
ServiceResultEntity srEntity = TATModuleProxy.Service.GetBasicSalary(this._dfEntity);
if (srEntity.Data != null && srEntity.Data.Tables.Count != 0
&& srEntity.Data.Tables[0].Rows.Count != 0)
{
DataSet dsEntityData = (DataSet)srEntity.Data;
DataRow drEntityRow = dsEntityData.Tables[0].Rows[0];
this.txtBasicSalaryName.Text = drEntityRow["BasicSalaryName"].ToString();
int SalaryType = Convert.ToInt32(drEntityRow["SalaryType"]);
this._dfEntity.SalaryType = SalaryType;
if (SalaryType == 1)
{
this.cbCeremonial.Checked = true;
}
else
{
this.cbTrial.Checked = true;
}
this.txtRemarks.Text = drEntityRow["Remarks"].ToString();
this.dtpStartTime.Text = drEntityRow["BeginAccountMonth"].ToString();
this._dfEntity.BeginAccountMonth = Convert.ToDateTime(drEntityRow["BeginAccountMonth"].ToString());
//将时间戳给到要修改的实体中
this._dfEntity.OPTimeStamp = Convert.ToDateTime(drEntityRow["OPTimeStamp"]);
}
}
}
///
/// 验证必填项
///
/// 是否通过
private bool ValidationInput()
{
if (string.IsNullOrWhiteSpace(this.txtBasicSalaryName.Text))
{
this.txtBasicSalaryName.Focus();
return false;
}
return true;
}
///
/// 为实体绑定页面属性
///
private void BindEntity()
{
this._dfEntity.BasicSalaryName = this.txtBasicSalaryName.Text.Trim();
this._dfEntity.BeginAccountMonth = this.dtpStartTime.Value.Date;
if (this.cbCeremonial.Checked)
{
this._dfEntity.SalaryType = 1;
}
else
{
this._dfEntity.SalaryType = 0;
}
this._dfEntity.Remarks = this.txtRemarks.Text;
this._dfEntity.AuditStatus = 0;
}
///
/// 与服务交互操作
///
///
private ServiceResultEntity EntityToServer()
{
if (this._formType == Constant.FormMode.Add)
{
return TATModuleProxy.Service.AddBasicSalary(this._dfEntity);
}
else if (this._formType == Constant.FormMode.Edit)
{
return TATModuleProxy.Service.UpdateBasicSalary(this._dfEntity);
}
else if (_formType == Constant.FormMode.CopyAndAdd)
{
this._dfEntity.CopyId = Convert.ToInt32(this._entityId);
return TATModuleProxy.Service.AddBasicSalary(this._dfEntity);
}
else if (_formType == Constant.FormMode.Display)
{
return TATModuleProxy.Service.AuditBasicSalary(this._dfEntity);
}
return null;
}
///
/// 清空页面
///
private void ClaerInput()
{
this.txtBasicSalaryName.Text = string.Empty;
this.cbCeremonial.Checked = true;
this.txtRemarks.Text = string.Empty;
}
#endregion
}
}