using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using WebLib; using System.IO; namespace Education.Forms.課程企劃 { public partial class 訓練課程企劃書 : FormBase { protected bool 可異動; protected void Page_Load(object sender, EventArgs e) { FunctionName = "訓練課程企劃書"; HelpUrl = "~/Help/課程企劃/訓練課程企劃書.html"; Form_View = FormView1; Grid_View = GridView1; FormView_DataSource = dsForm; GridView_DataSource = dsGrid; AddTabButton(MultiView1, View查詢, btnSearchTab); AddTabButton(MultiView1, View處理, btnProcessTab); if (!IsPostBack) { ActivateTab(MultiView1, 1); } else { AfterChangeTab(); } if (Form_View.CurrentMode != FormViewMode.ReadOnly) { Grid_View.Visible = false; } 送簽1.DataBind(); } protected void btnSearch_Click(object sender, EventArgs e) { Grid_View.PageIndex = 0; Grid_View.DataBind(); 送簽1.DataBind(); } protected void btnClear_Click(object sender, EventArgs e) { dd計畫別_Search.SelectedValue = ""; txt訓練年度_Search.Text = ""; txt訓練名稱_Search.Text = ""; txt承辦_Search.Text = ""; } protected override void AfterChangeTab() { switch (MultiView1.ActiveViewIndex) { case 1: Grid_View.DataBind(); Form_View.DataBind(); break; case 4: break; } } protected override void GridView_DataSource_Selected(object sender, ObjectDataSourceStatusEventArgs e) { base.GridView_DataSource_Selected(sender, e); if (MultiView1.ActiveViewIndex == 0) { if (e.ReturnValue is 訓練課程企劃List list && list.Count > 0) ActivateTab(MultiView1, 1); else lbMessage.Text = "找不到合乎條件的資料"; } } protected override void GridView_SelectedIndexChanged(object sender, EventArgs e) { base.GridView_SelectedIndexChanged(sender, e); 送簽1.DataBind(); 送簽1.Refresh(); } protected override void GridView_PageIndexChanged(object sender, EventArgs e) { base.GridView_PageIndexChanged(sender, e); 送簽1.DataBind(); 送簽1.Refresh(); } protected void dsGrid_ObjectCreating(object sender, ObjectDataSourceEventArgs e) { e.ObjectInstance = Dao訓練課程企劃; } protected void dsForm_ObjectCreating(object sender, ObjectDataSourceEventArgs e) { e.ObjectInstance = Dao訓練課程企劃; } protected override void FormView_ReadOnlyDataBound(object sender, EventArgs e) { if (Form_View.SelectedValue != null) { base.FormView_ReadOnlyDataBound(sender, e); 可異動 = Dao表單簽核主檔.表單可異動("課程企劃", DAC.GetString(Form_View.SelectedValue)); SetWebControlEnabled((Form_View.FindControl("btnUpdate") as WebControl), 可異動); SetWebControlEnabled((Form_View.FindControl("btnDelete") as WebControl), 可異動); } } protected override void FormView_DataBinding(object sender, EventArgs e) { base.FormView_DataBinding(sender, e); } protected override void FormView_InsertDataBound(object sender, EventArgs e) { base.FormView_InsertDataBound(sender, e); FormViewSetControlValue("hf公司別", CompanyId); FormViewSetControlValue("txt人數", "30"); FormViewSetControlValue("txt開放報名日期", DateTime.UtcNow.AddHours(8).Date.ToString("yyyyMMdd")); FormViewSetControlValue("txt報名截止期限", "5"); FormViewSetControlValue("txt取消報名截止期限", "5"); FormViewSetControlValue("txt承辦", UserId); FormViewSetControlValue("txt承辦X", UserName); } protected override void FormView_ModeChanged(object sender, EventArgs e) { base.FormView_ModeChanged(sender, e); 送簽1.Visible = Form_View.CurrentMode == FormViewMode.ReadOnly; if (送簽1.Visible) { 送簽1.DataBind(); 送簽1.Refresh(); } } protected void FormView1_ItemCommand(object sender, FormViewCommandEventArgs e) { if (e.CommandName == "Close") { int 課程ID = DAC.GetInt32(e.CommandArgument); 訓練課程企劃List d = Dao訓練課程企劃.SelectOne(課程ID); if (d.Count > 0) { if (d[0].已結案 == "Y") d[0].已結案 = "N"; else d[0].已結案 = "Y"; Dao訓練課程企劃.UpdateOne(d[0]); this.DataBind(); } } } protected void 送簽1_DataBinding(object sender, EventArgs e) { if (Grid_View.SelectedValue != null) { int 課程id = DAC.GetInt32(Grid_View.SelectedValue); 送簽1.表單ID = 課程id.ToString(); 送簽1.編號2 = 0; 送簽1.訓練課程企劃編號 = 課程id; 送簽1.Visible = true; 訓練課程企劃List d = Dao訓練課程企劃.SelectOne(課程id); if (d.Count == 0) 送簽1.可送簽 = false; else { 送簽1.表單ID格式 = String.Format("[{0}] {1}", d[0].顯示編號, d[0].訓練名稱); /* DAC_場地遴選 Dao場地遴選 = new DAC_場地遴選(conn); 場地遴選List 場地List = Dao場地遴選.SelectOne(課程id); bool 場地已簽准 = 場地List.Count > 0; if (場地List.Count > 0) { 表單簽核主檔 場地簽核status = Dao表單簽核主檔.GetLastStatus("場地遴選", 場地List[0].課程企劃編號.ToString()); 場地已簽准 &= 場地簽核status != null && 場地簽核status.應簽關數.CompareTo("D") != 0 && 場地簽核status.應簽關數.CompareTo(場地簽核status.已簽關數) == 0 && 場地簽核status.最終結果 == "Y"; } DAC_訓練課程內容 Dao訓練課程內容 = new DAC_訓練課程內容(conn); 訓練課程內容List 課程內容List = Dao訓練課程內容.SelectBy課程企劃(課程id); bool 講師已簽准 = 課程內容List.Count > 0; foreach (訓練課程內容 item in 課程內容List) { 表單簽核主檔 講師簽核status = Dao表單簽核主檔.GetLastStatus("講師遴選", String.Format("{0}|{1}", 課程id, item.課程序號)); 講師已簽准 &= 講師簽核status != null && 講師簽核status.應簽關數.CompareTo("D") != 0 && 講師簽核status.應簽關數.CompareTo(講師簽核status.已簽關數) == 0 && 講師簽核status.最終結果 == "Y"; } */ 送簽1.可送簽 = d[0].承辦.CompareTo(UserId) == 0 && Dao訓練課程企劃.Get場地講師已輸入(課程id); } } else 送簽1.Visible = false; } protected void 送簽1_Approved(object sender, EventArgs e) { this.DataBind(); } protected void 送簽1_Sending(object sender, SendingEventArgs e) { //int 課程id = DAC.GetInt32(Grid_View.SelectedValue); //e.允許送簽 = Dao訓練課程企劃.Get場地講師已簽准(課程id); //if (!e.允許送簽) //{ // ScriptManager.RegisterStartupScript(Page, Page.GetType(), "client_mesage", // String.Format("alert(\"{0}\");", StringTable.GetString("場地遴選與講師遴選均簽核完畢,才可送簽")), true); //} } protected string Get選定場地名稱(object 課程企劃編號) { int id = DAC.GetInt32(課程企劃編號); 場地 d = GetData.取得選定場地(id); if (d.編號 == 0) { 場地異動List v = new DAC_場地異動(conn).Select最後異動(id); if (v.Count > 0 && v[0].場地編號 == 0 && !String.IsNullOrEmpty(v[0].場地名稱)) return Server.HtmlEncode(v[0].場地名稱); return ""; } else return d.場地名稱; } } }