// 用員工ID查詢該員工所有獎金, 並判斷日期與期別是否在輸入範圍內, 回傳所有在範圍內的獎金總合 private float ComputeEmplBonus(String emplID) { float totalBonus = 0; BonusModel bonusModel = new BonusModel(); bonusModel.SetEmplID(emplID); BonusService bonusService = new BonusService(bonusModel); List<BonusModel> emplTotalBonus = bonusService.searchBonusByEmplID(); List<BonusModel> emplBonusInDate = new List<BonusModel>(); int emplTotalBonusCount = emplTotalBonus.Count; // 取出所有符合日期與期別的獎金資料 for (int i = 0; i < emplTotalBonusCount; i++) { DateTime bonusDate = emplTotalBonus[i].GetBonusDate(); String bonusT = emplTotalBonus[i].GetBonusT(); if (bonusDate.CompareTo(this._startDate) == 1 && bonusDate.CompareTo(this._endDate) == -1 && bonusT == this._salaryT) emplBonusInDate.Add(emplTotalBonus[i]); } // 計算符合日期與期別之獎金總額 BonusDefModel bonusDefModel; BonusDefService bonusDefService; int totalBonusInDateCount = emplBonusInDate.Count; for (int i = 0; i < totalBonusInDateCount; i++) { bonusDefModel = new BonusDefModel(); bonusDefModel.SetBonusDefID(emplBonusInDate[i].GetBonusDefID()); bonusDefService = new BonusDefService(bonusDefModel); bonusDefModel = bonusDefService.SearchBonusDefByBonusDefID(); totalBonus += bonusDefModel.GetBonusDefAmount(); } return totalBonus; }
// 以輸入empl ID搜尋員工獎金資料 public List<BonusModel> searchBonusByEmplID() { List<BonusModel> bonusList = new List<BonusModel>(); if (this.connectToDB()) { try { DataTable dataSet = new DataTable(); String searchString = String.Format("SELECT * FROM bonus WHERE emplID = '" + this._bonusModel.GetEmplID() + "'"); MySqlCommand searchCommand = new MySqlCommand(searchString, myConnection); searchCommand.ExecuteNonQuery(); MySqlDataAdapter adapter = new MySqlDataAdapter(searchCommand); adapter.Fill(dataSet); foreach (DataRow searchDr in dataSet.Rows) { BonusModel bonusModel = new BonusModel(); bonusModel.SetEmplID(searchDr["emplID"].ToString()); bonusModel.SetBonusDefID(searchDr["bonusDefID"].ToString()); bonusModel.SetBonusDate(System.Convert.ToDateTime(searchDr["bonusDate"])); bonusModel.SetBonusT(searchDr["bonusT"].ToString()); bonusList.Add(bonusModel); } } catch (MySqlException ex) { Console.WriteLine("Error " + ex.Number + " : " + ex.Message); } } this.closeConnection(); return bonusList; }
public BonusService(BonusModel bonusModel) { this._bonusModel = bonusModel; }
public void Initialize() { _bonus = new BonusModel(); _target = new PrivateObject(_bonus); }