/// <summary> /// 将排课后的课表信息保存到数据库中 /// </summary> /// <param name="courseTable">总课表</param> /// <param name="year">学生</param> /// <param name="term">学期</param> /// <returns></returns> public static bool StoreSchedule(Hashtable courseTable, string year, string term) { bool isSuccess = false; if (courseTable == null || courseTable.Count == 0) { Exception ex = new Exception("课表为空"); throw ex; } else { try { IDictionaryEnumerator it = courseTable.GetEnumerator(); for (int i = 0; i < courseTable.Count; i++) { if(it.MoveNext()) { // classId班级ID号, className班级名称 int classId = ((StudentsGroup)it.Key).GetId(); String className = ((StudentsGroup)it.Key).GetName(); List<List<CourseClass>> slot = ((Schedule)it.Value).GetSlots(); if (Schedule.DAY_HOURS == 4) // 默认每天4大节的上课时间 { for (int j = 0; j < slot.Count; j++) { if (slot[j].Count >= 1) { // 新建一条课表信息 CY.GFive.Core.Business.CurriculmArrange ca = new CY.GFive.Core.Business.CurriculmArrange(); // 保存学年,学期信息 ca.Year = year; ca.Term = int.Parse(term); // 保存教室信息 ca.ClassRoomCode = ((StudentsGroup)it.Key).GetRoomCode(); // 保存班级信息 ca.ClassCode = CY.GFive.Core.Business.ClassInfo.Load(classId).ClassCode; // 获取上课时间 int courseTime = j; // 保存上课时间信息 ca.CourseTime = courseTime; // 保存课程信息 ca.CourseCode = CY.GFive.Core.Business.Course.Load(slot[j].First().GetCourse().GetId()).Code; // 保存教师信息 ca.TeacherCode = CY.GFive.Core.Business.StaffInfo.Load(slot[j].First().GetProfessor().GetId()).Code; // 保存 ca.Save(); } } } else if (Schedule.DAY_HOURS == 3) // 每天3大节的上课时间,需要进行时间转化 { for (int j = 0; j < slot.Count; j++) { if (slot[j].Count >= 1) { // 新建一条课表信息 CY.GFive.Core.Business.CurriculmArrange ca = new CY.GFive.Core.Business.CurriculmArrange(); // 保存学年,学期信息 ca.Year = year; ca.Term = int.Parse(term); // 保存教室信息 ca.ClassRoomCode = ((StudentsGroup)it.Key).GetRoomCode(); // 保存班级信息 ca.ClassCode = CY.GFive.Core.Business.ClassInfo.Load(classId).ClassCode; int iDay = j / 3; int iTime = j % 3; int courseTime = iDay * 4 + iTime; // 保存上课时间信息 ca.CourseTime = courseTime; // 获取课程信息 ca.CourseCode = CY.GFive.Core.Business.Course.Load(slot[j].First().GetCourse().GetId()).Code; // 保存教师信息 ca.TeacherCode = CY.GFive.Core.Business.StaffInfo.Load(slot[j].First().GetProfessor().GetId()).Code; // 保存 ca.Save(); } } } else { Exception ex = new Exception("每天排课节数已经超过了四大节,请重新设置排课节数!"); throw ex; } } } isSuccess = true; } catch (Exception ex) { throw ex; } return isSuccess; } }
public string DataHandler(HttpContext context) { StringBuilder returnvalue = new StringBuilder(); bool IsSucess = false; try { string day = HttpUtility.HtmlDecode(context.Request.Params["day"]); string time = HttpUtility.HtmlDecode(context.Request.Params["time"]); string code = HttpUtility.HtmlDecode(context.Request.Params["code"]); string teacher = HttpUtility.HtmlDecode(context.Request.Params["teacher"]); string classcode = HttpUtility.HtmlDecode(context.Request.Params["classcode"]); string semester = HttpUtility.HtmlDecode(context.Request.Params["semester"]); string year = HttpUtility.HtmlDecode(context.Request.Params["year"]); string classroom = context.Request.Params["classroom"]; int Day = default(int); int Time = default(int); int Semester = default(int); CY.GFive.Core.Business.Course Course = null; CY.GFive.Core.Business.StaffInfo Teacher = null; CY.GFive.Core.Business.ClassInfo Class = null; CY.GFive.Core.Business.ClassRoom ClassRoom = null; if (!string.IsNullOrEmpty(day) && !string.IsNullOrEmpty(time) && !string.IsNullOrEmpty(code) && !string.IsNullOrEmpty(teacher) && int.TryParse(day, out Day) && int.TryParse(time, out Time) && int.TryParse(semester, out Semester) && Day > 0 && Time > 0 && Semester > 0) { if ((Course = CY.GFive.Core.Business.Course.GetInstance(code)) != null && (Teacher = CY.GFive.Core.Business.StaffInfo.GetInstance(teacher)) != null && (Class = CY.GFive.Core.Business.ClassInfo.GetInstance(classcode)) != null //&& //(ClassRoom = CY.GFive.Core.Business.ClassRoom.GetInstance(classroom)) != null ) { List<CY.GFive.Core.Business.CurriculmArrange> Arranges = CY.GFive.Core.Business.CurriculmArrange.Fill(Class, year, Semester) as List<CY.GFive.Core.Business.CurriculmArrange>; bool IsNotExist = true; int Serial = (Day - 1) * 4 + Time - 1; if (Arranges != null) { for (int i = 0; i < Arranges.Count; i++) { if (Arranges[i].CourseTime != Serial) { IsNotExist = IsNotExist && true; } else { IsNotExist = IsNotExist && false; break; } } } if (IsNotExist) { CY.GFive.Core.Business.CurriculmArrange Arrange = new CY.GFive.Core.Business.CurriculmArrange(); Arrange.TeacherCode = Teacher.Code; Arrange.Term = Semester; Arrange.Year = year; Arrange.ClassCode = Class.ClassCode; Arrange.CourseCode = Course.Code; Arrange.ClassRoomCode = ClassRoom.Code; Arrange.CourseTime = Serial; Arrange.Save(); IsSucess = true; } } } } catch (Exception ex) { } finally { if (IsSucess) { returnvalue.Append("{result:true,msg:'添加成功!'}"); } else { returnvalue.Append("{result:false,msg:'添加失败,请检查参数!'}"); } } return returnvalue.ToString(); }