using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.IO; using WebLib; namespace Education.Forms.課程企劃 { public partial class PickupPlace : FormBase { private DAC_場地遴選 Dao場地遴選; private int 課程ID; private bool 可異動; protected void Page_Load(object sender, EventArgs e) { FunctionName = "訓練課程企劃書 >> 場地遴選"; Title = FunctionName; if (!IsPostBack) hf課程ID.Value = Request["ID"]; 課程ID = DAC.GetInt32(hf課程ID.Value); Dao場地遴選 = new DAC_場地遴選(conn); Form_View = fv場地; Grid_View = gv場地; if (IsPostBack) { Grid_View.DataBind(); lbPlaceA.Text = "(尚未選擇)"; lbPlaceB.Text = "(尚未選擇)"; lbPlaceC.Text = "(尚未選擇)"; if (hf場地A.Value != null && hf場地A.Value.Length > 0) { lbPlaceA.Text = String.Format("[{0:0000}] {1}", DAC.GetInt32(hf場地A.Value), Get場地名稱(hf場地A.Value)); } if (hf場地B.Value != null && hf場地B.Value.Length > 0) { lbPlaceB.Text = String.Format("[{0:0000}] {1}", DAC.GetInt32(hf場地B.Value), Get場地名稱(hf場地B.Value)); } if (hf場地C.Value != null && hf場地C.Value.Length > 0) { lbPlaceC.Text = String.Format("[{0:0000}] {1}", DAC.GetInt32(hf場地C.Value), Get場地名稱(hf場地C.Value)); } } else { UpdateUI(); } btnPlaceA.OnClientClick = String.Format("selectPlace(\"{0}\", \"{1}\", \"{2}\"); return false;", hf場地A.ClientID, lbPlaceA.ClientID, txt場地名稱A.ClientID); btnPlaceB.OnClientClick = String.Format("selectPlace(\"{0}\", \"{1}\", \"{2}\"); return false;", hf場地B.ClientID, lbPlaceB.ClientID, txt場地名稱B.ClientID); btnPlaceC.OnClientClick = String.Format("selectPlace(\"{0}\", \"{1}\", \"{2}\"); return false;", hf場地C.ClientID, lbPlaceC.ClientID, txt場地名稱C.ClientID); btnClearA.OnClientClick = String.Format("clearPlace(\"{0}\", \"{1}\", \"{2}\", \"{3}\", \"{4}\", \"{5}\", \"{6}\", \"{7}\", \"{8}\"); return false;", hf場地A.ClientID, lbPlaceA.ClientID, txt場地名稱A.ClientID, txt安全舒適A.ClientID, txt空間大小A.ClientID, txt價格合理A.ClientID, txt交通便利A.ClientID, txt設備完善A.ClientID, lb合計A.ClientID); btnClearB.OnClientClick = String.Format("clearPlace(\"{0}\", \"{1}\", \"{2}\", \"{3}\", \"{4}\", \"{5}\", \"{6}\", \"{7}\", \"{8}\"); return false;", hf場地B.ClientID, lbPlaceB.ClientID, txt場地名稱B.ClientID, txt安全舒適B.ClientID, txt空間大小B.ClientID, txt價格合理B.ClientID, txt交通便利B.ClientID, txt設備完善B.ClientID, lb合計B.ClientID); btnClearC.OnClientClick = String.Format("clearPlace(\"{0}\", \"{1}\", \"{2}\", \"{3}\", \"{4}\", \"{5}\", \"{6}\", \"{7}\", \"{8}\"); return false;", hf場地C.ClientID, lbPlaceC.ClientID, txt場地名稱C.ClientID, txt安全舒適C.ClientID, txt空間大小C.ClientID, txt價格合理C.ClientID, txt交通便利C.ClientID, txt設備完善C.ClientID, lb合計C.ClientID); UIControl(); (Master as PopupForm).RefreshOpener = true; } private void UIControl() { 可異動 = Dao表單簽核主檔.表單可異動("課程企劃", 課程ID.ToString()); btnPlaceA.Visible = 可異動; btnPlaceB.Visible = 可異動; btnPlaceC.Visible = 可異動; btnSave.Visible = 可異動; //btnSaveA.Visible = 可異動; //btnSaveB.Visible = 可異動; //btnSaveC.Visible = 可異動; btnClearA.Visible = 可異動; btnClearB.Visible = 可異動; btnClearC.Visible = 可異動; txt場地名稱A.Enabled = 可異動; txt場地名稱B.Enabled = 可異動; txt場地名稱C.Enabled = 可異動; //btnSaveComment.Visible = 可異動; pnlPlace.Visible = 可異動; } protected void UpdateUI() { 訓練課程企劃List v1 = Dao訓練課程企劃.SelectOne(課程ID); if (v1.Count > 0) { lb課程企劃.Text = String.Format("[{0}] {1}", v1[0].顯示編號, v1[0].訓練名稱); } //送簽1.表單ID = hf課程ID.Value; //送簽1.表單ID格式 = String.Format("[{0}] {1}", v1[0].顯示編號, v1[0].訓練名稱); //送簽1.訓練課程企劃編號 = 課程ID; //送簽1.編號2 = 0; //送簽1.DataBind(); lbPlaceA.Text = "(尚未選擇)"; lbPlaceB.Text = "(尚未選擇)"; lbPlaceC.Text = "(尚未選擇)"; hf場地A.Value = ""; hf場地B.Value = ""; hf場地C.Value = ""; txt安全舒適A.Text = ""; txt空間大小A.Text = ""; txt價格合理A.Text = ""; txt交通便利A.Text = ""; txt設備完善A.Text = ""; txt場地名稱A.Text = ""; txt場地名稱A.Enabled = true; lb合計A.Text = ""; txt安全舒適B.Text = ""; txt空間大小B.Text = ""; txt價格合理B.Text = ""; txt交通便利B.Text = ""; txt設備完善B.Text = ""; txt場地名稱B.Text = ""; txt場地名稱B.Enabled = true; lb合計B.Text = ""; txt安全舒適C.Text = ""; txt空間大小C.Text = ""; txt價格合理C.Text = ""; txt交通便利C.Text = ""; txt設備完善C.Text = ""; txt場地名稱C.Text = ""; txt場地名稱C.Enabled = true; lb合計C.Text = ""; txt總評.Text = ""; txt備註.Text = ""; 場地遴選List 場地 = Dao場地遴選.SelectOne(課程ID); if (場地.Count > 0) { if (場地[0].場地編號_A > 0) { var venueName = Get場地名稱(場地[0].場地編號_A); lbPlaceA.Text = String.Format("[{0:0000}] {1}", 場地[0].場地編號_A, venueName); hf場地A.Value = 場地[0].場地編號_A.ToString(); txt場地名稱A.Text = venueName; txt場地名稱A.Enabled = false; txt安全舒適A.Text = 場地[0].安全舒適_A.ToString(); txt空間大小A.Text = 場地[0].空間大小_A.ToString(); txt價格合理A.Text = 場地[0].價格合理_A.ToString(); txt交通便利A.Text = 場地[0].交通便利_A.ToString(); txt設備完善A.Text = 場地[0].設備完善_A.ToString(); lb合計A.Text = 場地[0].合計_A.ToString(); } else if (!String.IsNullOrEmpty(場地[0].場地名稱_A)) { txt場地名稱A.Text = 場地[0].場地名稱_A; txt安全舒適A.Text = 場地[0].安全舒適_A.ToString(); txt空間大小A.Text = 場地[0].空間大小_A.ToString(); txt價格合理A.Text = 場地[0].價格合理_A.ToString(); txt交通便利A.Text = 場地[0].交通便利_A.ToString(); txt設備完善A.Text = 場地[0].設備完善_A.ToString(); lb合計A.Text = 場地[0].合計_A.ToString(); } if (場地[0].場地編號_B > 0) { var venueName = Get場地名稱(場地[0].場地編號_B); lbPlaceB.Text = String.Format("[{0:0000}] {1}", 場地[0].場地編號_B, venueName); hf場地B.Value = 場地[0].場地編號_B.ToString(); txt場地名稱B.Text = venueName; txt場地名稱B.Enabled = false; txt安全舒適B.Text = 場地[0].安全舒適_B.ToString(); txt空間大小B.Text = 場地[0].空間大小_B.ToString(); txt價格合理B.Text = 場地[0].價格合理_B.ToString(); txt交通便利B.Text = 場地[0].交通便利_B.ToString(); txt設備完善B.Text = 場地[0].設備完善_B.ToString(); lb合計B.Text = 場地[0].合計_B.ToString(); } else if (!String.IsNullOrEmpty(場地[0].場地名稱_B)) { txt場地名稱B.Text = 場地[0].場地名稱_B; txt安全舒適B.Text = 場地[0].安全舒適_B.ToString(); txt空間大小B.Text = 場地[0].空間大小_B.ToString(); txt價格合理B.Text = 場地[0].價格合理_B.ToString(); txt交通便利B.Text = 場地[0].交通便利_B.ToString(); txt設備完善B.Text = 場地[0].設備完善_B.ToString(); lb合計B.Text = 場地[0].合計_B.ToString(); } if (場地[0].場地編號_C > 0) { var venueName = Get場地名稱(場地[0].場地編號_C); lbPlaceC.Text = String.Format("[{0:0000}] {1}", 場地[0].場地編號_C, venueName); hf場地C.Value = 場地[0].場地編號_C.ToString(); txt場地名稱C.Text = venueName; txt場地名稱C.Enabled = false; txt安全舒適C.Text = 場地[0].安全舒適_C.ToString(); txt空間大小C.Text = 場地[0].空間大小_C.ToString(); txt價格合理C.Text = 場地[0].價格合理_C.ToString(); txt交通便利C.Text = 場地[0].交通便利_C.ToString(); txt設備完善C.Text = 場地[0].設備完善_C.ToString(); lb合計C.Text = 場地[0].合計_C.ToString(); } else if (!String.IsNullOrEmpty(場地[0].場地名稱_C)) { txt場地名稱C.Text = 場地[0].場地名稱_C; txt安全舒適C.Text = 場地[0].安全舒適_C.ToString(); txt空間大小C.Text = 場地[0].空間大小_C.ToString(); txt價格合理C.Text = 場地[0].價格合理_C.ToString(); txt交通便利C.Text = 場地[0].交通便利_C.ToString(); txt設備完善C.Text = 場地[0].設備完善_C.ToString(); lb合計C.Text = 場地[0].合計_C.ToString(); } txt總評.Text = 場地[0].總評; txt備註.Text = 場地[0].備註; } } protected void btnPlaceSearch_Click(object sender, EventArgs e) { gv場地.DataBind(); if (gv場地.Rows.Count == 0) lbMessage場地.Text = "請輸入適當的查詢條件重新查詢"; } //protected void btnPlaceA_Click(object sender, EventArgs e) //{ // hf場地A.Value = DAC.GetString(fv場地.SelectedValue); // 場地List d = Dao場地.SelectOne(DAC.GetInt32(fv場地.SelectedValue)); // if (d.Count > 0) // { // lbPlaceA.Text = String.Format("[{0:0000}] {1}", d[0].編號, d[0].場地名稱); // } //} //protected void btnPlaceB_Click(object sender, EventArgs e) //{ // hf場地B.Value = DAC.GetString(fv場地.SelectedValue); // 場地List d = Dao場地.SelectOne(DAC.GetInt32(fv場地.SelectedValue)); // if (d.Count > 0) // { // lbPlaceB.Text = String.Format("[{0:0000}] {1}", d[0].編號, d[0].場地名稱); // } //} //protected void btnPlaceC_Click(object sender, EventArgs e) //{ // hf場地C.Value = DAC.GetString(fv場地.SelectedValue); // 場地List d = Dao場地.SelectOne(DAC.GetInt32(fv場地.SelectedValue)); // if (d.Count > 0) // { // lbPlaceC.Text = String.Format("[{0:0000}] {1}", d[0].編號, d[0].場地名稱); // } //} //protected void btnClearA_Click(object sender, EventArgs e) //{ // Dao場地遴選.ClearPlace(課程ID, "A"); // UpdateUI(); //} //protected void btnClearB_Click(object sender, EventArgs e) //{ // Dao場地遴選.ClearPlace(課程ID, "B"); // UpdateUI(); //} //protected void btnClearC_Click(object sender, EventArgs e) //{ // Dao場地遴選.ClearPlace(課程ID, "C"); // UpdateUI(); //} //protected void btnSaveA_Click(object sender, EventArgs e) //{ // Dao場地遴選.UpdatePlace(課程ID, "A", // DAC.GetInt32(hf場地A.Value), // DAC.GetInt32(txt安全舒適A.Text), // DAC.GetInt32(txt空間大小A.Text), // DAC.GetInt32(txt價格合理A.Text), // DAC.GetInt32(txt交通便利A.Text), // DAC.GetInt32(txt設備完善A.Text)); // UpdateUI(); //} //protected void btnSaveB_Click(object sender, EventArgs e) //{ // Dao場地遴選.UpdatePlace(課程ID, "B", // DAC.GetInt32(hf場地B.Value), // DAC.GetInt32(txt安全舒適B.Text), // DAC.GetInt32(txt空間大小B.Text), // DAC.GetInt32(txt價格合理B.Text), // DAC.GetInt32(txt交通便利B.Text), // DAC.GetInt32(txt設備完善B.Text)); // UpdateUI(); //} //protected void btnSaveC_Click(object sender, EventArgs e) //{ // Dao場地遴選.UpdatePlace(課程ID, "C", // DAC.GetInt32(hf場地C.Value), // DAC.GetInt32(txt安全舒適C.Text), // DAC.GetInt32(txt空間大小C.Text), // DAC.GetInt32(txt價格合理C.Text), // DAC.GetInt32(txt交通便利C.Text), // DAC.GetInt32(txt設備完善C.Text)); // UpdateUI(); //} protected void btnSave_Click(object sender, EventArgs e) { 場地遴選 item = Dao場地遴選.SelectOne(課程ID).FirstOrDefault(); if (item == null) { item = new 場地遴選() { 課程企劃編號 = 課程ID, 場地編號_A = DAC.GetInt32(hf場地A.Value), 場地名稱_A = txt場地名稱A.Text, 安全舒適_A = DAC.GetInt32(txt安全舒適A.Text), 空間大小_A = DAC.GetInt32(txt空間大小A.Text), 價格合理_A = DAC.GetInt32(txt價格合理A.Text), 交通便利_A = DAC.GetInt32(txt交通便利A.Text), 設備完善_A = DAC.GetInt32(txt設備完善A.Text), 場地編號_B = DAC.GetInt32(hf場地B.Value), 場地名稱_B = txt場地名稱B.Text, 安全舒適_B = DAC.GetInt32(txt安全舒適B.Text), 空間大小_B = DAC.GetInt32(txt空間大小B.Text), 價格合理_B = DAC.GetInt32(txt價格合理B.Text), 交通便利_B = DAC.GetInt32(txt交通便利B.Text), 設備完善_B = DAC.GetInt32(txt設備完善B.Text), 場地編號_C = DAC.GetInt32(hf場地C.Value), 場地名稱_C = txt場地名稱C.Text, 安全舒適_C = DAC.GetInt32(txt安全舒適C.Text), 空間大小_C = DAC.GetInt32(txt空間大小C.Text), 價格合理_C = DAC.GetInt32(txt價格合理C.Text), 交通便利_C = DAC.GetInt32(txt交通便利C.Text), 設備完善_C = DAC.GetInt32(txt設備完善C.Text), 總評 = txt總評.Text, 備註 = txt備註.Text }; Dao場地遴選.InsertOne(item); } else { item.場地編號_A = DAC.GetInt32(hf場地A.Value); item.場地名稱_A = txt場地名稱A.Text; item.安全舒適_A = DAC.GetInt32(txt安全舒適A.Text); item.空間大小_A = DAC.GetInt32(txt空間大小A.Text); item.價格合理_A = DAC.GetInt32(txt價格合理A.Text); item.交通便利_A = DAC.GetInt32(txt交通便利A.Text); item.設備完善_A = DAC.GetInt32(txt設備完善A.Text); item.場地編號_B = DAC.GetInt32(hf場地B.Value); item.場地名稱_B = txt場地名稱B.Text; item.安全舒適_B = DAC.GetInt32(txt安全舒適B.Text); item.空間大小_B = DAC.GetInt32(txt空間大小B.Text); item.價格合理_B = DAC.GetInt32(txt價格合理B.Text); item.交通便利_B = DAC.GetInt32(txt交通便利B.Text); item.設備完善_B = DAC.GetInt32(txt設備完善B.Text); item.場地編號_C = DAC.GetInt32(hf場地C.Value); item.場地名稱_C = txt場地名稱C.Text; item.安全舒適_C = DAC.GetInt32(txt安全舒適C.Text); item.空間大小_C = DAC.GetInt32(txt空間大小C.Text); item.價格合理_C = DAC.GetInt32(txt價格合理C.Text); item.交通便利_C = DAC.GetInt32(txt交通便利C.Text); item.設備完善_C = DAC.GetInt32(txt設備完善C.Text); item.總評 = txt總評.Text; item.備註 = txt備註.Text; Dao場地遴選.UpdateOne(item); } UpdateUI(); ClientShowMessage("儲存成功!"); } protected void btnSaveComment_Click(object sender, EventArgs e) { Dao場地遴選.UpdateComment(課程ID, txt總評.Text, txt備註.Text); } protected void fv場地_DataBound(object sender, EventArgs e) { if (fv場地.CurrentMode == FormViewMode.ReadOnly) { int 編號 = DAC.GetInt32(fv場地.SelectedValue); Image image1 = (fv場地.FindControl("Image1") as Image); if (image1 != null) { string[] tmp = image1.ImageUrl.Split('?'); if (tmp.Length > 0 && !File.Exists(Server.MapPath(tmp[0]))) { image1.ImageUrl = "~/picture/nopicture.jpg"; image1.Attributes.Remove("onclick"); image1.Style.Remove("cursor"); } else { image1.Attributes.Add("onclick", GetOpenWindowJS("../Common/ShowLargePicture.aspx", "_picture", "pic", String.Format(Education.PublicVariable.場地照片路徑 + "{0:000000}_1.jpg", 編號))); image1.Style.Add("cursor", "pointer"); } } Image image2 = (fv場地.FindControl("Image2") as Image); if (image2 != null) { string[] tmp = image2.ImageUrl.Split('?'); if (tmp.Length > 0 && !File.Exists(Server.MapPath(tmp[0]))) { image2.ImageUrl = "~/picture/nopicture.jpg"; image2.Attributes.Remove("onclick"); image2.Style.Remove("cursor"); } else { image2.Attributes.Add("onclick", GetOpenWindowJS("../Common/ShowLargePicture.aspx", "_picture", "pic", String.Format(Education.PublicVariable.場地照片路徑 + "{0:000000}_2.jpg", 編號))); image2.Style.Add("cursor", "pointer"); } } } } //protected void 送簽1_DataBinding(object sender, EventArgs e) //{ // 訓練課程企劃List d = Dao訓練課程企劃.SelectOne(課程ID); // if (d.Count == 0) // 送簽1.可送簽 = false; // else // 送簽1.可送簽 = d[0].承辦.CompareTo(UserId) == 0; //} protected string GetFormControlId(string id) { if (可異動 && fv場地.PageIndex >= 0) { Control ctrl = fv場地.FindControl(id); if (ctrl != null) return fv場地.FindControl(id).ClientID; else return ""; } else { return ""; } } } }