// 1. 取得學年度、學期、日期區間、沒有被取消的【評分紀錄】 private void GetScoreSheet() { #region SQL string sql = string.Format(@" SELECT place.ref_area_id , pc_belong.ref_class_id , standard.points , score_sheet.create_time , score_sheet.uid FROM $ischool.tidy_competition.score_sheet AS score_sheet LEFT OUTER JOIN $ischool.tidy_competition.place AS place ON place.uid = score_sheet.ref_place_id LEFT OUTER JOIN $ischool.tidy_competition.pc_belong AS pc_belong ON pc_belong.ref_place_id = score_sheet.ref_place_id LEFT OUTER JOIN $ischool.tidy_competition.deduction_standard AS standard ON standard.uid = score_sheet.ref_deduction_standard_id WHERE score_sheet.school_year = {0} AND score_sheet.semester = {1} AND date_trunc('day', score_sheet.create_time) <= '{2}'::TIMESTAMP AND date_trunc('day', score_sheet.create_time) >= '{3}'::TIMESTAMP AND score_sheet.is_canceled = false ", this._schoolYear, this._semester, this._endDate, this._startDate); #endregion QueryHelper qh = new QueryHelper(); DataTable dt = qh.Select(sql); List <string> listScoreSheetID = new List <string>(); foreach (DataRow row in dt.Rows) { if (this.dicClassCalculatorByID.ContainsKey("" + row["ref_class_id"])) { ScoreItem item = new ScoreItem(); item.AreaID = "" + row["ref_area_id"]; item.ClassID = "" + row["ref_class_id"]; item.Score = ("" + row["points"]) == "" ? 0 : int.Parse("" + row["points"]); item.OccurDate = "" + row["create_time"]; this.dicClassCalculatorByID[item.ClassID].Add(item); listScoreSheetID.Add("" + row["uid"]); } } // 評分紀錄資料快照 SnapshotData.SnapshotScoreSheet(listScoreSheetID); }
public void Add(ScoreItem si) { this.scoreItems.Add(si); }