using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.Common;
using Wellan.Data;
using Wellan.Common;
using System.Text;
using System.IO;
using System.Drawing;
///
/// 職稱等級設定
///
public partial class forms_customer_fmBpjb : Wellan.Web.UI.WUserControlBase
{
protected string _BPNUM = "";
protected string _BPPYN = "";
protected string _BPJNO = "";
protected string _BPJME = "";
protected void Page_Load(object sender, EventArgs e)
{
//if (IsPostBack)
// gvBPJB.DataBind();
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
dsBPJBForm.ConnectionString = ConnectionString;
_BPNUM = GetStringParam("BPNUM");
_BPPYN = GetStringParam("BPPYN");
_BPJNO = GetStringParam("BPJNO");
_BPJME = GetStringParam("BPJME");
GetGridViewRowColor(gvBPJB);
Search();
}
// 查詢動作
private new void Search()
{
dsBPJBGrid.SelectParameters["BPPYN"].DefaultValue = _BPPYN;
dsBPJBGrid.SelectParameters["BPJNO"].DefaultValue = _BPJNO;
}
private new void CalcFields(SqlDataSourceCommandEventArgs e)
{
if (e.Command.Parameters["@BPSRM"].Value == null || e.Command.Parameters["@BPSRM"].Value.ToString() == "")
e.Command.Parameters["@BPSRM"].Value = 0;
if (e.Command.Parameters["@BPSRD"].Value == null || e.Command.Parameters["@BPSRD"].Value.ToString() == "")
e.Command.Parameters["@BPSRD"].Value = 0;
if (e.Command.Parameters["@BPP01"].Value == null || e.Command.Parameters["@BPP01"].Value.ToString() == "")
e.Command.Parameters["@BPP01"].Value = 0;
if (e.Command.Parameters["@BPP03"].Value == null || e.Command.Parameters["@BPP03"].Value.ToString() == "")
e.Command.Parameters["@BPP03"].Value = 0;
if (e.Command.Parameters["@BPP04"].Value == null || e.Command.Parameters["@BPP04"].Value.ToString() == "")
e.Command.Parameters["@BPP04"].Value = 0;
if (e.Command.Parameters["@BPP05"].Value == null || e.Command.Parameters["@BPP05"].Value.ToString() == "")
e.Command.Parameters["@BPP05"].Value = 0;
// 伙食費固定為 1800
// e.Command.Parameters["@BPP02"].Value = 1800;
}
protected void dsBPJBForm_Inserting(object sender, SqlDataSourceCommandEventArgs e)
{
CalcFields(e);
e.Command.Parameters["@BPPYN"].Value = _BPPYN;
e.Command.Parameters["@BPJNO"].Value = _BPJNO;
e.Command.Parameters["@BPCNO"].Value = WGuard1.WNextRen(DateTime.UtcNow.AddHours(8), "BPJB", "BPCNO", "", String.Format(" BPPYN='{0}' AND BPJNO='{1}'", _BPPYN, _BPJNO));
}
protected void dsBPJBForm_Updating(object sender, SqlDataSourceCommandEventArgs e)
{
CalcFields(e);
}
protected void gvBPJB_DataBound(object sender, EventArgs e)
{
GridView_DataBound(sender, e);
if (gvBPJB.Rows.Count > 0)
{
if (gvBPJB.SelectedIndex == -1)
gvBPJB.SelectedIndex = 0;
fvBPJB.DataBind();
}
}
protected void gvBPJB_PageIndexChanged(object sender, EventArgs e)
{
Search();
gvBPJB.SelectedIndex = 0;
gvBPJB.DataBind();
}
protected void dsBPJBGrid_Selected(object sender, ObjectDataSourceStatusEventArgs e)
{
if (e.ReturnValue is Int32 && WDAC.GetInt32Value(e.ReturnValue) == 0)
{
fvBPJB.ChangeMode(FormViewMode.Insert);
fvBPJB_ModeChanged(sender, e);
}
}
protected void fvBPJB_ItemCommand(object sender, FormViewCommandEventArgs e)
{
switch (e.CommandName)
{
case "Insert":
break;
case "Edit":
break;
case "Cancel":
Search();
fvBPJB.ChangeMode(FormViewMode.ReadOnly);
fvBPJB_ModeChanged(sender, e);
if (gvBPJB.Rows.Count == 0)
DoAfterCommand("BPJA");
break;
case "Return":
DoAfterCommand("BPJA");
break;
}
}
protected void fvBPJB_ItemDeleted(object sender, FormViewDeletedEventArgs e)
{
Search();
gvBPJB.DataBind();
if (gvBPJB.SelectedIndex > gvBPJB.Rows.Count - 1)
{
gvBPJB.SelectedIndex = gvBPJB.Rows.Count - 1;
gvBPJB.DataBind();
}
fvBPJB.DataBind();
}
protected void fvBPJB_ItemInserted(object sender, FormViewInsertedEventArgs e)
{
Search();
}
protected void fvBPJB_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
{
Search();
}
protected void fvBPJB_ModeChanged(object sender, EventArgs e)
{
switch (fvBPJB.CurrentMode)
{
case FormViewMode.ReadOnly:
gvBPJB.Visible = true;
gvBPJB.DataBind();
if (gvBPJB.Rows.Count > 0)
{
if (gvBPJB.SelectedIndex == -1)
{
gvBPJB.SelectedIndex = 0;
}
if (OldMode == FormViewMode.Insert)
{
gvBPJB.PageIndex = gvBPJB.PageCount - 1;
gvBPJB.DataBind();
gvBPJB.SelectedIndex = gvBPJB.Rows.Count - 1;
}
gvBPJB.DataBind();
fvBPJB.DataBind();
}
break;
case FormViewMode.Edit:
gvBPJB.Visible = false;
break;
case FormViewMode.Insert:
gvBPJB.Visible = false;
break;
}
}
protected void fvBPJB_ModeChanging(object sender, FormViewModeEventArgs e)
{
OldMode = (sender as FormView).CurrentMode;
}
protected void fvBPJB_DataBound(object sender, EventArgs e)
{
switch (fvBPJB.CurrentMode)
{
case FormViewMode.Edit:
SetClientFocus(fvBPJB, "txtBPJB_BPCME");
break;
case FormViewMode.Insert:
(fvBPJB.FindControl("txtBPJB_BPSRM") as ITextControl).Text = "0";
(fvBPJB.FindControl("txtBPJB_BPSRD") as ITextControl).Text = "0";
(fvBPJB.FindControl("txtBPJB_BPP01") as ITextControl).Text = "0";
(fvBPJB.FindControl("txtBPJB_BPP02") as ITextControl).Text = "0";
(fvBPJB.FindControl("txtBPJB_BPP03") as ITextControl).Text = "0";
(fvBPJB.FindControl("txtBPJB_BPP04") as ITextControl).Text = "0";
(fvBPJB.FindControl("txtBPJB_BPP05") as ITextControl).Text = "0";
SetClientFocus(fvBPJB, "txtBPJB_BPCME");
break;
}
}
protected void fvBPJB_ItemCreated(object sender, EventArgs e)
{
switch (fvBPJB.CurrentMode)
{
case FormViewMode.Insert:
(fvBPJB.FindControl("lbBPJB_BPPYN") as ITextControl).Text = _BPPYN;
(fvBPJB.FindControl("lbBPJB_BPNUM") as ITextControl).Text = _BPNUM;
break;
}
}
protected void gvBPJB_RowDataBound(object sender, GridViewRowEventArgs e)
{
SetGridViewMouseBehavier(gvBPJB, e.Row);
//GridView_RowDataBound_Shrink_ViewState(sender, e);
}
protected void gvBPJB_SelectedIndexChanged(object sender, EventArgs e)
{
foreach (GridViewRow row in gvBPJB.Rows)
SetGridViewMouseBehavier(gvBPJB, row);
}
protected void fvBPJB_ItemDeleting(object sender, FormViewDeleteEventArgs e)
{
// 刪除前檢查
// 是否有派遣人員使用此職稱
DbCommand cmd1 = Query.NewCommand("SELECT COUNT(1) FROM RASN WHERE RAPYN=@BPPYN AND RAJNO=@BPJNO AND RACNO=@BPCNO");
cmd1.Parameters.Add(Query.NewParameter("BPPYN", e.Values["BPPYN"]));
cmd1.Parameters.Add(Query.NewParameter("BPJNO", e.Values["BPJNO"]));
cmd1.Parameters.Add(Query.NewParameter("BPCNO", e.Values["BPCNO"]));
int i = Convert.ToInt32(Query.ExecuteScalar(cmd1));
cmd1.Dispose();
if (i > 0)
{
cvMessage.ErrorMessage = "本職稱等級已有派遣人員使用。不可刪除!";
cvMessage.IsValid = false;
e.Cancel = true;
}
}
protected void cvBPSRM_ServerValidate(object source, ServerValidateEventArgs args)
{
int i;
args.IsValid = args.Value != "" && Int32.TryParse(args.Value, out i) && i >= 0 && i <= 999999;
}
}