void BGW_DoWork(object sender, DoWorkEventArgs e) { //取得社團資料 List <CLUBRecord> ClubPrimaryList = _AccessHelper.Select <CLUBRecord>(string.Format("UID = '{0}'", this.PrimaryKey)); if (ClubPrimaryList.Count != 1) { //如果取得2門以上 或 沒取得社團時 e.Cancel = true; return; } ClubPrimary = ClubPrimaryList[0]; Log_ClubPrimary = ClubPrimary.CopyExtension(); //取得科別資料 deptList = tool.GetQueryDeptList(); }
public override string Import(List <Campus.DocumentValidator.IRowStream> Rows) { if (mOption.Action == ImportAction.InsertOrUpdate) { List <CLUBRecord> ClubInsertList = new List <CLUBRecord>(); List <CLUBRecord> ClubUpdateList = new List <CLUBRecord>(); foreach (IRowStream Row in Rows) { //教師名稱 string SchoolYear = Row.GetValue("學年度"); string Semester = Row.GetValue("學期"); string CLUBName = Row.GetValue("社團名稱"); string name = SchoolYear + "," + Semester + "," + CLUBName; if (Importbot.ClubDic.ContainsKey(name)) //更新 { CLUBRecord club = Importbot.ClubDic[name]; if (!Log_Dic.ContainsKey(club.UID)) { ImputLog i_n = new ImputLog(); i_n.lo_CLUB = club.CopyExtension(); Log_Dic.Add(club.UID, i_n); } Importbot.SetClub(Row, club); ClubUpdateList.Add(club); } else { //新增 CLUBRecord club = new CLUBRecord(); club.SchoolYear = int.Parse(SchoolYear); club.Semester = int.Parse(Semester); club.ClubName = CLUBName; Importbot.SetClub(Row, club); ClubInsertList.Add(club); } } if (ClubInsertList.Count > 0) { StringBuilder mstrLog1 = new StringBuilder(); mstrLog1.AppendLine("新增匯入社團:"); foreach (CLUBRecord each in ClubInsertList) { mstrLog1.AppendLine(Importbot.GetLogString(each)); } tool._A.InsertValues(ClubInsertList); FISCA.LogAgent.ApplicationLog.Log("社團", "新增匯入", mstrLog1.ToString()); } if (ClubUpdateList.Count > 0) { StringBuilder mstrLog2 = new StringBuilder(); mstrLog2.AppendLine("更新匯入社團:"); foreach (CLUBRecord each in ClubUpdateList) { if (Log_Dic.ContainsKey(each.UID)) { Log_Dic[each.UID].New_club = each.CopyExtension(); mstrLog2.AppendLine(Importbot.SetLog(Log_Dic[each.UID])); } } tool._A.UpdateValues(ClubUpdateList); FISCA.LogAgent.ApplicationLog.Log("社團", "更新匯入", mstrLog2.ToString()); } ClubEvents.RaiseAssnChanged(); } return(""); }
void BGW_DoWork(object sender, DoWorkEventArgs e) { //StudentNameDic.Clear(); //取得社團資料 List <CLUBRecord> ClubPrimaryList = _AccessHelper.Select <CLUBRecord>(string.Format("UID = '{0}'", this.PrimaryKey)); if (ClubPrimaryList.Count != 1) { //如果取得2門以上 或 沒取得社團時 e.Cancel = true; return; } ClubPrimary = ClubPrimaryList[0]; Log_ClubPrimary = ClubPrimary.CopyExtension(); //取得場地[GROUP BY] string TableName = Tn._CLUBRecordUDT; DataTable dt = _QueryHelper.Select("select location from " + TableName.ToLower() + " group by location ORDER by location"); ClubLocation.Clear(); foreach (DataRow row in dt.Rows) { string loc = "" + row[0]; ClubLocation.Add(loc); } ClubLocation.Sort(); //取得社團類型[Group By] TableName = Tn._CLUBRecordUDT; dt = _QueryHelper.Select("select club_category from " + TableName.ToLower() + " group by club_category ORDER by club_category"); ClubCategory.Clear(); foreach (DataRow row in dt.Rows) { string loc = "" + row[0]; if (string.IsNullOrEmpty(loc)) { continue; } ClubCategory.Add(loc); } ClubCategory.Sort(); //取得老師資料 TeacherList.Clear(); TeacherDic.Clear(); TeacherNameDic.Clear(); dt = _QueryHelper.Select(@" SELECT id , teacher_name , nickname FROM teacher WHERE status = 1 ORDER by teacher_name"); foreach (DataRow row in dt.Rows) { TeacherObj obj = new TeacherObj(); obj.TeacherID = "" + row[0]; obj.TeacherName = ("" + row[1]).Trim(); obj.TeacherNickName = ("" + row[2]).Trim(); TeacherList.Add(obj); if (!TeacherDic.ContainsKey(obj.TeacherID)) { TeacherDic.Add(obj.TeacherID, obj); } if (!TeacherNameDic.ContainsKey(obj.TeacherFullName)) { TeacherNameDic.Add(obj.TeacherFullName, obj); } } }