void BGW_DoWork(object sender, DoWorkEventArgs e) { List<CLUBRecord> ClubPrimaryList = tool._A.Select<CLUBRecord>(string.Format("UID = '{0}'", this.PrimaryKey)); if (ClubPrimaryList.Count != 1) { //如果取得2門以上 或 沒取得社團時 e.Cancel = true; return; } _CLUBRecord = ClubPrimaryList[0]; //本社團的學生參與記錄 scMAG = new ScJoinMag(this.PrimaryKey, 1); ClassDic = tool.GetClassDic(scMAG.SCJoinStudent_LIst); }
private CLUBRecord GetClub() { CLUBRecord club = new CLUBRecord(); club.ClubName = txtClubName.Text.Trim(); //社團名稱 club.SchoolYear = intSchoolYear.Value; //學年度 club.Semester = intSemester.Value; //學期 club.ClubCategory = cbCategory.Text.Trim(); //類型 club.ClubNumber = tbClubNumber.Text.Trim(); //代碼 int x; if (int.TryParse(tbTotalNumberHours.Text, out x)) club.TotalNumberHours = x; //总课时数 else club.TotalNumberHours = null; #region 總人數 if (!string.IsNullOrEmpty(tbLimit1.Text.Trim())) club.Grade1Limit = tool.StringIsInt_DefIsZero(tbLimit1.Text.Trim()); if (!string.IsNullOrEmpty(tbLimit2.Text.Trim())) club.Grade2Limit = tool.StringIsInt_DefIsZero(tbLimit2.Text.Trim()); if (!string.IsNullOrEmpty(tbLimit3.Text.Trim())) club.Grade3Limit = tool.StringIsInt_DefIsZero(tbLimit3.Text.Trim()); if (!string.IsNullOrEmpty(tbLimit4.Text.Trim())) club.Grade4Limit = tool.StringIsInt_DefIsZero(tbLimit4.Text.Trim()); if (!string.IsNullOrEmpty(tbLimit5.Text.Trim())) club.Grade5Limit = tool.StringIsInt_DefIsZero(tbLimit5.Text.Trim()); #endregion #region 男生 if (!string.IsNullOrEmpty(tbBoyLimit1.Text.Trim())) club.Grade1BoyLimit = tool.StringIsInt_DefIsZero(tbBoyLimit1.Text.Trim()); if (!string.IsNullOrEmpty(tbBoyLimit2.Text.Trim())) club.Grade2BoyLimit = tool.StringIsInt_DefIsZero(tbBoyLimit2.Text.Trim()); if (!string.IsNullOrEmpty(tbBoyLimit3.Text.Trim())) club.Grade3BoyLimit = tool.StringIsInt_DefIsZero(tbBoyLimit3.Text.Trim()); if (!string.IsNullOrEmpty(tbBoyLimit4.Text.Trim())) club.Grade4BoyLimit = tool.StringIsInt_DefIsZero(tbBoyLimit4.Text.Trim()); if (!string.IsNullOrEmpty(tbBoyLimit5.Text.Trim())) club.Grade5BoyLimit = tool.StringIsInt_DefIsZero(tbBoyLimit5.Text.Trim()); #endregion #region 女生 if (!string.IsNullOrEmpty(tbGirlLimit1.Text.Trim())) club.Grade1GirlLimit = tool.StringIsInt_DefIsZero(tbGirlLimit1.Text.Trim()); if (!string.IsNullOrEmpty(tbGirlLimit2.Text.Trim())) club.Grade2GirlLimit = tool.StringIsInt_DefIsZero(tbGirlLimit2.Text.Trim()); if (!string.IsNullOrEmpty(tbGirlLimit3.Text.Trim())) club.Grade3GirlLimit = tool.StringIsInt_DefIsZero(tbGirlLimit3.Text.Trim()); if (!string.IsNullOrEmpty(tbGirlLimit4.Text.Trim())) club.Grade4GirlLimit = tool.StringIsInt_DefIsZero(tbGirlLimit4.Text.Trim()); if (!string.IsNullOrEmpty(tbGirlLimit5.Text.Trim())) club.Grade5GirlLimit = tool.StringIsInt_DefIsZero(tbGirlLimit5.Text.Trim()); #endregion //社團老師 if (cbTeacher.SelectedItem != null) { TeacherObj cbi = (TeacherObj)cbTeacher.SelectedItem; club.RefTeacherID = cbi.TeacherID; } if (cbTeacher2.SelectedItem != null) { TeacherObj cbi = (TeacherObj)cbTeacher2.SelectedItem; club.RefTeacherID2 = cbi.TeacherID; } if (cbTeacher3.SelectedItem != null) { TeacherObj cbi = (TeacherObj)cbTeacher3.SelectedItem; club.RefTeacherID3 = cbi.TeacherID; } //社團場地 if (!string.IsNullOrEmpty(cbLocation.Text.Trim())) club.Location = cbLocation.Text.Trim(); club.About = tbAboutClub.Text.Trim(); //簡介 return club; }
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 ""; }
public void SetClub(IRowStream Row, CLUBRecord club) { club.ClubNumber = Row.GetValue("代码"); club.Location = Row.GetValue("场地"); club.ClubCategory = Row.GetValue("类型"); club.FullPhase = Row.GetValue("长短课程") == "长课程"; club.Domain = Row.GetValue("课程领域"); club.Type = Row.GetValue("课程属性"); club.Formal = Row.GetValue("上课形式"); club.RefTeacherID = checkTeacherName("" + Row.GetValue("老师1")); club.RefTeacherID2 = checkTeacherName("" + Row.GetValue("老师2")); club.RefTeacherID3 = checkTeacherName("" + Row.GetValue("老师3")); int x; if (int.TryParse("" + Row.GetValue("总课时数"), out x)) club.TotalNumberHours = x; else club.TotalNumberHours = null; club.About = Row.GetValue("简介"); #region 选课人数限制 if (int.TryParse("" + Row.GetValue("限制:一年级选课人数限制"), out x)) club.Grade1Limit = x; else club.Grade1Limit = null; if (int.TryParse("" + Row.GetValue("限制:二年级选课人数限制"), out x)) club.Grade2Limit = x; else club.Grade2Limit = null; if (int.TryParse("" + Row.GetValue("限制:三年级选课人数限制"), out x)) club.Grade3Limit = x; else club.Grade3Limit = null; if (int.TryParse("" + Row.GetValue("限制:四年级选课人数限制"), out x)) club.Grade4Limit = x; else club.Grade4Limit = null; if (int.TryParse("" + Row.GetValue("限制:五年级选课人数限制"), out x)) club.Grade5Limit = x; else club.Grade5Limit = null; #endregion #region 选课人数男生限制 if (int.TryParse("" + Row.GetValue("限制:一年级选课人数男生限制"), out x)) club.Grade1BoyLimit = x; else club.Grade1BoyLimit = null; if (int.TryParse("" + Row.GetValue("限制:二年级选课人数男生限制"), out x)) club.Grade2BoyLimit = x; else club.Grade2BoyLimit = null; if (int.TryParse("" + Row.GetValue("限制:三年级选课人数男生限制"), out x)) club.Grade3BoyLimit = x; else club.Grade3BoyLimit = null; if (int.TryParse("" + Row.GetValue("限制:四年级选课人数男生限制"), out x)) club.Grade4BoyLimit = x; else club.Grade4BoyLimit = null; if (int.TryParse("" + Row.GetValue("限制:五年级选课人数男生限制"), out x)) club.Grade5BoyLimit = x; else club.Grade5BoyLimit = null; #endregion #region 选课人数女生限制 if (int.TryParse("" + Row.GetValue("限制:一年级选课人数女生限制"), out x)) club.Grade1GirlLimit = x; else club.Grade1GirlLimit = null; if (int.TryParse("" + Row.GetValue("限制:二年级选课人数女生限制"), out x)) club.Grade2GirlLimit = x; else club.Grade2GirlLimit = null; if (int.TryParse("" + Row.GetValue("限制:三年级选课人数女生限制"), out x)) club.Grade3GirlLimit = x; else club.Grade3GirlLimit = null; if (int.TryParse("" + Row.GetValue("限制:四年级选课人数女生限制"), out x)) club.Grade4GirlLimit = x; else club.Grade4GirlLimit = null; if (int.TryParse("" + Row.GetValue("限制:五年级选课人数女生限制"), out x)) club.Grade5GirlLimit = x; else club.Grade5GirlLimit = null; #endregion }
public string GetLogString(CLUBRecord each) { StringBuilder log = new StringBuilder(); log.AppendLine(string.Format("学年度「{0}」学期「{1}」课程名称「{2}」", each.SchoolYear, each.Semester, each.ClubName)); if (!string.IsNullOrEmpty(each.ClubNumber)) log.AppendLine(string.Format("代码「{0}」", each.ClubNumber)); if (!string.IsNullOrEmpty(each.Location)) log.AppendLine(string.Format("场地「{0}」", each.Location)); if (!string.IsNullOrEmpty(each.ClubCategory)) log.AppendLine(string.Format("类型「{0}」", each.ClubCategory)); if (!string.IsNullOrEmpty(each.RefTeacherID)) { if (TeacherIDDic.ContainsKey(each.RefTeacherID)) { log.AppendLine(string.Format("老师1「{0}」", GetTeacherName(TeacherIDDic[each.RefTeacherID]))); } } if (!string.IsNullOrEmpty(each.RefTeacherID2)) { if (TeacherIDDic.ContainsKey(each.RefTeacherID2)) { log.AppendLine(string.Format("老师2「{0}」", GetTeacherName(TeacherIDDic[each.RefTeacherID2]))); } } if (!string.IsNullOrEmpty(each.RefTeacherID3)) { if (TeacherIDDic.ContainsKey(each.RefTeacherID3)) { log.AppendLine(string.Format("老师3「{0}」", GetTeacherName(TeacherIDDic[each.RefTeacherID3]))); } } if (each.TotalNumberHours.HasValue) log.AppendLine(string.Format("总课时数「{0}」", each.TotalNumberHours.Value)); if (!string.IsNullOrEmpty(each.About)) log.AppendLine(string.Format("简介「{0}」", each.About)); if (each.Grade1Limit.HasValue) log.AppendLine(string.Format("限制:一年级选课人数限制「{0}」", each.Grade1Limit.Value.ToString())); if (each.Grade2Limit.HasValue) log.AppendLine(string.Format("限制:二年级选课人数限制「{0}」", each.Grade2Limit.Value.ToString())); if (each.Grade3Limit.HasValue) log.AppendLine(string.Format("限制:三年级选课人数限制「{0}」", each.Grade3Limit.Value.ToString())); if (each.Grade4Limit.HasValue) log.AppendLine(string.Format("限制:四年级选课人数限制「{0}」", each.Grade4Limit.Value.ToString())); if (each.Grade5Limit.HasValue) log.AppendLine(string.Format("限制:五年级选课人数限制「{0}」", each.Grade5Limit.Value.ToString())); if (each.Grade1BoyLimit.HasValue) log.AppendLine(string.Format("限制:一年级选课人数男生限制「{0}」", each.Grade1BoyLimit.Value.ToString())); if (each.Grade2BoyLimit.HasValue) log.AppendLine(string.Format("限制:二年级选课人数男生限制「{0}」", each.Grade2BoyLimit.Value.ToString())); if (each.Grade3BoyLimit.HasValue) log.AppendLine(string.Format("限制:三年级选课人数男生限制「{0}」", each.Grade3BoyLimit.Value.ToString())); if (each.Grade4BoyLimit.HasValue) log.AppendLine(string.Format("限制:四年级选课人数男生限制「{0}」", each.Grade4BoyLimit.Value.ToString())); if (each.Grade5BoyLimit.HasValue) log.AppendLine(string.Format("限制:五年级选课人数男生限制「{0}」", each.Grade5BoyLimit.Value.ToString())); if (each.Grade1GirlLimit.HasValue) log.AppendLine(string.Format("限制:一年级选课人数女生限制「{0}」", each.Grade1GirlLimit.Value.ToString())); if (each.Grade2GirlLimit.HasValue) log.AppendLine(string.Format("限制:二年级选课人数女生限制「{0}」", each.Grade2GirlLimit.Value.ToString())); if (each.Grade3GirlLimit.HasValue) log.AppendLine(string.Format("限制:三年级选课人数女生限制「{0}」", each.Grade3GirlLimit.Value.ToString())); if (each.Grade4GirlLimit.HasValue) log.AppendLine(string.Format("限制:四年级选课人数女生限制「{0}」", each.Grade4GirlLimit.Value.ToString())); if (each.Grade5GirlLimit.HasValue) log.AppendLine(string.Format("限制:五年级选课人数女生限制「{0}」", each.Grade5GirlLimit.Value.ToString())); return log.ToString(); }
private int SortClub(CLUBRecord cr1, CLUBRecord cr2) { return cr1.ClubCategory.CompareTo(cr2.ClubCategory); }
/// <summary> /// 排除已存在於本社團之學生 /// </summary> public void CheckTempStudentInCourse(List<string> IsSaft, Dictionary<string, List<SCJoin>> SCJoin_Dic, CLUBRecord _CLUBRecord, int phase) { //檢查已經加入本階段修課的學生 foreach (string each in IsSaft) { if (!SCJoin_Dic.ContainsKey(each)) { //可加入社團之學生 InsertList.Add(each); } else { SCJoin scjK = new SCJoin(); foreach (SCJoin scj in SCJoin_Dic[each]) { if (string.IsNullOrEmpty(scjK.UID)) { scjK = scj; continue; } //如果是相同階段別之學生 if (scjK.Phase == scj.Phase) { //重覆加入社團之學生 ReMoveTemp.Add(each); } } } } //取得可加入學生的社團參與記錄(所有學期) List<SCJoin> scjList = tool._A.Select<SCJoin>("ref_student_id in ('" + string.Join("','", InsertList) + "')"); if (scjList.Count != 0) { Dictionary<string, CLUBRecord> clubDic = GetDistinctClub(scjList); foreach (SCJoin each in scjList) { //增加判斷已不存在的社團 if (clubDic.ContainsKey(each.RefClubID)) { //學年度學期相同 if (clubDic[each.RefClubID].SchoolYear == _CLUBRecord.SchoolYear && clubDic[each.RefClubID].Semester == _CLUBRecord.Semester) { //同階段已加入 if (each.Phase == phase) ReDoubleTemp.Add(each); //已加入長課程,或者已加入其他課程但是要加入長課程 else if (clubDic[each.RefClubID].FullPhase == true || _CLUBRecord.FullPhase == true) ReDoubleTemp.Add(each); ////判斷待處理學生,是否已經有社團參與記錄(SCJoin) //if (IsSaft.Contains(each.RefStudentID)) //{ // //有記錄則先剔除 // IsSaft.Remove(each.RefStudentID); //} } } } } }
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(); }
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 teacher.id,teacher.teacher_name,teacher.nickname from teacher 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); } } }