// // 這個檔案是 滿意度調查講師 資料表的資料存取類別 檔案二 // 您可以修改這個檔案,加入您自訂的屬性與方法 // using System; using System.Collections.Generic; using System.Text; using System.ComponentModel; using System.Data; using System.Data.Common; using WebLib; using System.Data.SqlClient; namespace Education { /// /// 滿意度調查講師 資料存取類別 /// public partial class DAC_滿意度調查講師 : WebLib.DAC { #region 自動產生的資料存取方法 /// /// InsertOne 之前會執行此方法 /// 在這裡可以做一些檢查或是自動編號等動作 /// 回傳 false 會打斷 InsertOne 的執行 /// protected virtual bool BeforeInsertOne(滿意度調查講師 value) { return true; } /// /// InsertOne 之後會執行此方法 /// protected virtual void AfterInsertOne(滿意度調查講師 value) { } /// /// InsertOne 發生錯誤時會執行此方法 /// ///錯誤是否已經處理妥當 protected virtual void OnInsertOneError(Exception error, out bool handled) { handled = false; } /// /// UpdateOne 之前會執行此方法 /// 在這裡可以做一些檢查 /// 回傳 false 會打斷 UpdateOne 的執行 /// protected virtual bool BeforeUpdateOne(滿意度調查講師 value) { return true; } /// /// UpdateOne 之後會執行此方法 /// protected virtual void AfterUpdateOne(滿意度調查講師 value) { } /// /// UpdateOne 發生錯誤時會執行此方法 /// ///錯誤是否已經處理妥當 protected virtual void OnUpdateOneError(Exception error, out bool handled) { handled = false; } /// /// DeleteOne 之前會執行此方法 /// 在這裡可以做一些檢查 /// 回傳 false 會打斷 DeleteOne 的執行 /// protected virtual bool BeforeDeleteOne(滿意度調查講師 value) { return true; } /// /// DeleteOne 之後會執行此方法 /// protected virtual void AfterDeleteOne(滿意度調查講師 value) { } /// /// DeleteOne 之前會執行此方法 /// 在這裡可以做一些檢查 /// 回傳 false 會打斷 DeleteOne 的執行 /// protected virtual bool BeforeDeleteOne(int 訓練課程企劃編號, string 學員編號, int 課程序號, int DB_APPNO) { return true; } /// /// DeleteOne 之後會執行此方法 /// protected virtual void AfterDeleteOne(int 訓練課程企劃編號, string 學員編號, int 課程序號, int DB_APPNO) { } /// /// DeleteOne 發生錯誤時會執行此方法 /// ///錯誤是否已經處理妥當 protected virtual void OnDeleteOneError(Exception error, out bool handled) { handled = false; } #endregion // 有另外加上去的屬性及方法,請加在這裡 public void Update(int 訓練課程企劃編號, string 學員編號, int 課程序號, string UserId) { DAC_滿意度調查 Dao滿意度調查 = new DAC_滿意度調查(); 滿意度調查List d1 = Dao滿意度調查.SelectOne(訓練課程企劃編號, 學員編號, 課程序號, 2); 滿意度調查List d2 = Dao滿意度調查.SelectOne(訓練課程企劃編號, 學員編號, 課程序號, 3); int 授課方式填答 = 0; int 專業知識填答 = 0; if (d1.Count > 0) 授課方式填答 = d1[0].分數; if (d2.Count > 0) 專業知識填答 = d2[0].分數; int 講師編號 = new DAC_訓練課程企劃(conn).Select選定講師(訓練課程企劃編號, 課程序號); 滿意度調查講師List d = SelectOne(訓練課程企劃編號, 學員編號, 課程序號); if (d.Count == 0) { 滿意度調查講師 newValue = new 滿意度調查講師(); newValue.訓練課程企劃編號 = 訓練課程企劃編號; newValue.學員編號 = 學員編號; newValue.課程序號 = 課程序號; newValue.講師編號 = 講師編號; newValue.授課方式填答 = 授課方式填答; newValue.授課方式分數 = 授課方式填答 * 20; newValue.專業知識填答 = 專業知識填答; newValue.專業知識分數 = 專業知識填答 * 20; newValue.DB_CRUSR = UserId; InsertOne(newValue); } else { d[0].講師編號 = 講師編號; d[0].授課方式填答 = 授課方式填答; d[0].授課方式分數 = 授課方式填答 * 20; d[0].專業知識填答 = 專業知識填答; d[0].專業知識分數 = 專業知識填答 * 20; d[0].DB_TRUSR = UserId; UpdateOne(d[0]); } } public DataTable Select滿意度統計(int 訓練課程企劃編號) { DbCommand cmdSelect = NewCommand( @"SELECT A.訓練課程企劃編號, A.節次, A.講師編號, A.講師姓名, (AVG(CAST(C.授課方式分數 AS FLOAT)) + AVG(CAST(C.專業知識分數 AS FLOAT))) / 2 AS 滿意度 FROM ( SELECT A.訓練課程企劃編號, A.節次, A.課程序號, dbo.FN取得選定講師編號(A.訓練課程企劃編號, A.課程序號) AS 講師編號, dbo.FN取得選定講師名稱(A.訓練課程企劃編號, A.課程序號) AS 講師姓名 FROM 訓練課程內容 A WHERE A.訓練課程企劃編號 = @訓練課程企劃編號 ) AS A LEFT OUTER JOIN 滿意度調查講師 C ON A.訓練課程企劃編號 = C.訓練課程企劃編號 AND A.課程序號=C.課程序號 GROUP BY A.訓練課程企劃編號, A.節次, A.講師編號, A.講師姓名"); AddParam(cmdSelect, "訓練課程企劃編號", 訓練課程企劃編號); return Select(cmdSelect); } } /// /// 滿意度調查講師 資料集合類別 /// public partial class 滿意度調查講師List : List<滿意度調查講師> { // 有另外加上去的屬性及方法,請加在這裡 } /// /// 滿意度調查講師 資料紀錄類別 /// public partial class 滿意度調查講師 { private string _講師姓名; public string 講師姓名 { get { return _講師姓名; } set { _講師姓名 = value; } } } }