chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore - 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
@@ -0,0 +1,457 @@
|
||||
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;
|
||||
|
||||
/// <summary>
|
||||
/// 專案年度接單處理
|
||||
/// </summary>
|
||||
public partial class forms_customer_fmBpaa : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
protected string _BPNUM = "";
|
||||
protected string _BPPNM = "";
|
||||
private string _BPYER = "";
|
||||
private string _BPPYN = "";
|
||||
private string _BPPYM = "";
|
||||
//private int _OLD_BPYER = 0;
|
||||
//private string _OLD_BPPYN = "";
|
||||
private string select = "SELECT * ";
|
||||
private string from = " FROM BPAA ";
|
||||
private string where = " WHERE 1=1 ";
|
||||
private string order = " ORDER BY BPPNM, BPYER";
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
//if (IsPostBack)
|
||||
// gvBPAA.DataBind();
|
||||
}
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
dsBPAAForm.ConnectionString = ConnectionString;
|
||||
dsBPAAGrid.ConnectionString = ConnectionString;
|
||||
|
||||
//_BPPNM = ViewState["BPPNM"] != null ? ViewState["BPPNM"].ToString() : "";
|
||||
//_BPYER = ViewState["BPYER"] != null ? ViewState["BPYER"].ToString() : "";
|
||||
//_BPPYN = ViewState["BPPYN"] != null ? ViewState["BPPYN"].ToString() : "";
|
||||
//_BPPYM = ViewState["BPPYM"] != null ? ViewState["BPPYM"].ToString() : "";
|
||||
|
||||
if (_BPNUM == "")
|
||||
_BPNUM = GetStringParam("BPNUM");
|
||||
if (_BPPNM == "")
|
||||
_BPPNM = GetStringParam("BPPNM");
|
||||
|
||||
GetGridViewRowColor(gvBPAA);
|
||||
|
||||
switch (MultiView1.ActiveViewIndex)
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
SetClientFocus(txtBPNUM);
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
Search();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 查詢按鈕
|
||||
protected void btnSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
ViewState["BPPNM"] = txtBPPNM.Text;
|
||||
ViewState["BPYER"] = txtBPYER.Text;
|
||||
ViewState["BPPYN"] = txtBPPYN.Text;
|
||||
ViewState["BPPYM"] = txtBPPYM.Text;
|
||||
|
||||
_BPPNM = txtBPPNM.Text;
|
||||
_BPYER = txtBPYER.Text;
|
||||
_BPPYN = txtBPPYN.Text;
|
||||
_BPPYM = txtBPPYM.Text;
|
||||
|
||||
if (_BPPNM.Length == 0 &&
|
||||
_BPYER.Length == 0 &&
|
||||
_BPPYN.Length == 0 &&
|
||||
_BPPYM.Length == 0)
|
||||
{
|
||||
lbMessage.Text = GetString("NOSRHCOND");
|
||||
lbMessage.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
|
||||
Search();
|
||||
|
||||
gvBPAA.PageIndex = 0;
|
||||
gvBPAA.SelectedIndex = 0;
|
||||
gvBPAA.DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
// 取消查詢按鈕
|
||||
protected void btnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
}
|
||||
|
||||
// 查詢動作
|
||||
private new void Search()
|
||||
{
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.Append(select);
|
||||
sql.Append(from);
|
||||
sql.Append(where);
|
||||
dsBPAAGrid.SelectParameters.Clear();
|
||||
AddSearch(sql, dsBPAAGrid, "BPPNM", _BPPNM, "", true);
|
||||
AddSearch(sql, dsBPAAGrid, "BPYER", _BPYER, "", true);
|
||||
AddSearch(sql, dsBPAAGrid, "BPPYN", _BPPYN, "", true);
|
||||
AddSearch(sql, dsBPAAGrid, "BPPYM", _BPPYM, "", true);
|
||||
sql.Append(order);
|
||||
dsBPAAGrid.SelectCommand = sql.ToString();
|
||||
}
|
||||
|
||||
private void CalcFields(System.Collections.Specialized.IOrderedDictionary values)
|
||||
{
|
||||
Decimal bpbgt;
|
||||
if (Decimal.TryParse(values["BPBGT"].ToString(), out bpbgt))
|
||||
values["BPBGT"] = bpbgt;
|
||||
else
|
||||
values["BPBGT"] = 0;
|
||||
}
|
||||
|
||||
protected void dsBPAAForm_Inserting(object sender, SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
protected void dsBPAAForm_Updating(object sender, SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
protected void dsBPAAForm_Updated(object sender, SqlDataSourceStatusEventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
protected void gvBPAA_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
GridView_DataBound(sender, e);
|
||||
if (gvBPAA.Rows.Count > 0)
|
||||
{
|
||||
if (gvBPAA.SelectedIndex == -1)
|
||||
gvBPAA.SelectedIndex = 0;
|
||||
|
||||
// 返回時,回到之前選擇的那一筆
|
||||
if (ParamList.ContainsKey("BPPNM") && ParamList.ContainsKey("BPYER"))
|
||||
{
|
||||
DataView dv = dsBPAAGrid.Select(new DataSourceSelectArguments()) as DataView;
|
||||
dv.RowFilter = String.Format("BPPNM='{0}' and BPYER={1}", ParamList["BPPNM"], ParamList["BPYER"]);
|
||||
if (dv.Count > 0)
|
||||
{
|
||||
int rowIndex = dv.Table.Rows.IndexOf(dv[0].Row);
|
||||
gvBPAA.PageIndex = (rowIndex / gvBPAA.PageSize);
|
||||
gvBPAA.SelectedIndex = rowIndex - gvBPAA.PageIndex * gvBPAA.PageSize;
|
||||
}
|
||||
|
||||
// ParamList.Remove("BPPNM");
|
||||
ParamList.Remove("BPYER");
|
||||
}
|
||||
|
||||
fvBPAA.DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvBPAA_PageIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
Search();
|
||||
gvBPAA.SelectedIndex = 0;
|
||||
gvBPAA.DataBind();
|
||||
}
|
||||
|
||||
protected void dsBPAAGrid_Selected(object sender, SqlDataSourceStatusEventArgs e)
|
||||
{
|
||||
if (e.AffectedRows == 0)
|
||||
{
|
||||
fvBPAA.ChangeMode(FormViewMode.Insert);
|
||||
fvBPAA_ModeChanged(sender, e);
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPAA_ItemCommand(object sender, FormViewCommandEventArgs e)
|
||||
{
|
||||
switch (e.CommandName)
|
||||
{
|
||||
case "Insert":
|
||||
break;
|
||||
case "Edit":
|
||||
break;
|
||||
case "Cancel":
|
||||
Search();
|
||||
fvBPAA.ChangeMode(FormViewMode.ReadOnly);
|
||||
fvBPAA_ModeChanged(sender, e);
|
||||
if (gvBPAA.Rows.Count == 0)
|
||||
DoAfterCommand("BPRJ");
|
||||
break;
|
||||
case "Return":
|
||||
DoAfterCommand("BPRJ");
|
||||
break;
|
||||
case "Detail":
|
||||
fvBPAA.DataBind();
|
||||
if (fvBPAA.DataItem != null)
|
||||
{
|
||||
DataRowView rv = fvBPAA.DataItem as DataRowView;
|
||||
ParamList["BPNUM"] = _BPNUM;
|
||||
ParamList["BPPNM"] = rv["BPPNM"];
|
||||
ParamList["BPPYN"] = rv["BPPYN"];
|
||||
ParamList["BPYER"] = rv["BPYER"].ToString();
|
||||
DoAfterCommand("BPAB");
|
||||
}
|
||||
break;
|
||||
case "BPJA":
|
||||
fvBPAA.DataBind();
|
||||
|
||||
if (fvBPAA.DataItem != null)
|
||||
{
|
||||
DataRowView rv = fvBPAA.DataItem as DataRowView;
|
||||
//ParamList.Clear();
|
||||
ParamList["BPNUM"] = _BPNUM;
|
||||
ParamList["BPPNM"] = rv["BPPNM"];
|
||||
ParamList["BPPYN"] = rv["BPPYN"];
|
||||
ParamList["BPYER"] = rv["BPYER"].ToString();
|
||||
DoAfterCommand("BPJA");
|
||||
}
|
||||
break;
|
||||
case "RASN":
|
||||
fvBPAA.DataBind();
|
||||
|
||||
if (fvBPAA.DataItem != null)
|
||||
{
|
||||
DataRowView rv = fvBPAA.DataItem as DataRowView;
|
||||
//ParamList.Clear();
|
||||
ParamList["BPNUM"] = _BPNUM;
|
||||
ParamList["BPPNM"] = rv["BPPNM"];
|
||||
ParamList["BPPYN"] = rv["BPPYN"];
|
||||
ParamList["BPYER"] = rv["BPYER"].ToString();
|
||||
//ParamList.Add("RACNM", _BPNUM);
|
||||
//ParamList.Add("RASNM", rv["BPPYN"]);
|
||||
DoAfterCommand("RASN");
|
||||
}
|
||||
break;
|
||||
case "SubjectAssign":
|
||||
fvBPAA.DataBind();
|
||||
if (fvBPAA.DataItem != null)
|
||||
{
|
||||
DataRowView rv = fvBPAA.DataItem as DataRowView;
|
||||
//ParamList.Clear();
|
||||
ParamList["BPNUM"] = _BPNUM;
|
||||
ParamList["BPPNM"] = rv["BPPNM"];
|
||||
ParamList["BPPYN"] = rv["BPPYN"];
|
||||
ParamList["BPYER"] = rv["BPYER"].ToString();
|
||||
DoAfterCommand("BPAASUB");
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPAA_ItemDeleted(object sender, FormViewDeletedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
gvBPAA.DataBind();
|
||||
if (gvBPAA.SelectedIndex > gvBPAA.Rows.Count - 1)
|
||||
{
|
||||
gvBPAA.SelectedIndex = gvBPAA.Rows.Count - 1;
|
||||
gvBPAA.DataBind();
|
||||
}
|
||||
fvBPAA.DataBind();
|
||||
}
|
||||
|
||||
protected void fvBPAA_ItemInserted(object sender, FormViewInsertedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void fvBPAA_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void fvBPAA_ModeChanged(object sender, EventArgs e)
|
||||
{
|
||||
switch (fvBPAA.CurrentMode)
|
||||
{
|
||||
case FormViewMode.ReadOnly:
|
||||
gvBPAA.Visible = true;
|
||||
gvBPAA.DataBind();
|
||||
if (gvBPAA.Rows.Count > 0)
|
||||
{
|
||||
if (gvBPAA.SelectedIndex == -1)
|
||||
{
|
||||
gvBPAA.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
if (OldMode == FormViewMode.Insert)
|
||||
{
|
||||
gvBPAA.PageIndex = gvBPAA.PageCount - 1;
|
||||
gvBPAA.DataBind();
|
||||
gvBPAA.SelectedIndex = gvBPAA.Rows.Count - 1;
|
||||
}
|
||||
gvBPAA.DataBind();
|
||||
fvBPAA.DataBind();
|
||||
}
|
||||
break;
|
||||
|
||||
case FormViewMode.Edit:
|
||||
gvBPAA.Visible = false;
|
||||
break;
|
||||
|
||||
case FormViewMode.Insert:
|
||||
gvBPAA.Visible = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPAA_ModeChanging(object sender, FormViewModeEventArgs e)
|
||||
{
|
||||
OldMode = (sender as FormView).CurrentMode;
|
||||
}
|
||||
|
||||
protected void fvBPAA_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
switch (fvBPAA.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Edit:
|
||||
SetClientFocus(fvBPAA, "txtBPAA_BPBGT");
|
||||
break;
|
||||
case FormViewMode.Insert:
|
||||
SetClientFocus(fvBPAA, "txtBPAA_BPYER");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
CustomValidator v = source as CustomValidator;
|
||||
|
||||
// 檢查年度是否為數字
|
||||
int bpyer;
|
||||
|
||||
if (!int.TryParse((fvBPAA.FindControl("txtBPAA_BPYER") as ITextControl).Text, out bpyer))
|
||||
{
|
||||
args.IsValid = false;
|
||||
v.ErrorMessage = "年度請輸入民國年";
|
||||
return;
|
||||
}
|
||||
|
||||
switch (fvBPAA.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Insert:
|
||||
DbCommand cmd = Query.NewCommand("SELECT COUNT(1) FROM BPAA WHERE BPPNM=@BPPNM AND BPYER=@BPYER");
|
||||
cmd.Parameters.Add(Query.NewParameter("BPPNM", _BPPNM));
|
||||
cmd.Parameters.Add(Query.NewParameter("BPYER", bpyer));
|
||||
object o = Query.ExecuteScalar(cmd);
|
||||
// 重複
|
||||
if (o != null && Convert.ToInt32(o) != 0)
|
||||
{
|
||||
args.IsValid = false;
|
||||
v.ErrorMessage = "本年度已開帳!請取消新增之後,用更正來修改預算及年度專案名稱";
|
||||
return;
|
||||
}
|
||||
|
||||
break;
|
||||
case FormViewMode.Edit:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPAA_ItemCreated(object sender, EventArgs e)
|
||||
{
|
||||
switch (fvBPAA.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Insert:
|
||||
(fvBPAA.FindControl("lbBPAA_BPPNM") as ITextControl).Text = _BPPNM;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvBPAA_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
SetGridViewMouseBehavier(gvBPAA, e.Row);
|
||||
//GridView_RowDataBound_Shrink_ViewState(sender, e);
|
||||
}
|
||||
|
||||
protected void gvBPAA_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
foreach (GridViewRow row in gvBPAA.Rows)
|
||||
SetGridViewMouseBehavier(gvBPAA, row);
|
||||
}
|
||||
|
||||
protected void fvBPAA_ItemDeleting(object sender, FormViewDeleteEventArgs e)
|
||||
{
|
||||
// 刪除前檢查
|
||||
cvMessage.ErrorMessage = "";
|
||||
cvMessage.IsValid = true;
|
||||
|
||||
// 1. 是否已有科目設定
|
||||
DbCommand cmd1 = Query.NewCommand("SELECT COUNT(1) FROM BPAB WHERE BPPYN=@BPPYN");
|
||||
cmd1.Parameters.Add(Query.NewParameter("BPPYN", e.Values["BPPYN"]));
|
||||
int i = Convert.ToInt32(Query.ExecuteScalar(cmd1));
|
||||
if (i > 0)
|
||||
{
|
||||
cvMessage.ErrorMessage += "本年度已有科目設定。不可刪除!<br/>";
|
||||
cvMessage.IsValid = false;
|
||||
}
|
||||
|
||||
// 2. 是否已有職稱設定
|
||||
cmd1.CommandText = "SELECT COUNT(1) FROM BPJA WHERE BPPYN=@BPPYN";
|
||||
cmd1.Parameters.Clear();
|
||||
cmd1.Parameters.Add(Query.NewParameter("BPPYN", e.Values["BPPYN"]));
|
||||
i = Convert.ToInt32(Query.ExecuteScalar(cmd1));
|
||||
if (i > 0)
|
||||
{
|
||||
cvMessage.ErrorMessage += "本年度已有職稱設定。不可刪除!<br/>";
|
||||
cvMessage.IsValid = false;
|
||||
}
|
||||
|
||||
ProcessCustomValidatorMessage(cvMessage);
|
||||
e.Cancel = !cvMessage.IsValid;
|
||||
}
|
||||
|
||||
protected void fvBPAA_ItemUpdating(object sender, FormViewUpdateEventArgs e)
|
||||
{
|
||||
CalcFields(e.NewValues);
|
||||
// 記住連鎖更正之舊值
|
||||
//_OLD_BPPYN = e.OldValues["BPPYN"].ToString();
|
||||
//e.NewValues["BPPYN"] = String.Format("{0:000}{1}", Convert.ToInt32(e.NewValues["BPYER"]), e.NewValues["BPPNM"]);
|
||||
}
|
||||
|
||||
protected void fvBPAA_ItemInserting(object sender, FormViewInsertEventArgs e)
|
||||
{
|
||||
e.Values["BPPYN"] = String.Format("{0:000}{1}", Convert.ToInt32(e.Values["BPYER"]), e.Values["BPPNM"]);
|
||||
CalcFields(e.Values);
|
||||
}
|
||||
|
||||
protected void cvBPFED_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
int i;
|
||||
args.IsValid = args.Value != "" && Int32.TryParse(args.Value, out i) && i >= 1 && i <= 31;
|
||||
}
|
||||
|
||||
protected void fvBPAA_DataBinding(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user