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; } }