//保存临时申请课程以及实验室 public ActionResult saveTempLesson() { string lessonName = Request["lessonName"] == null ? "" : Request["lessonName"].ToString(); string lessonNo = Request["lessonNo"] == null ? "" : Request["lessonNo"].ToString(); string lessonTeacher = Request["lessonTeacher"] == null ? "" : Request["lessonTeacher"].ToString(); string lesson_Arrange = Request["lessonArrange"] == null ? "" : Request["lessonArrange"].ToString(); string lessonRemark = Request["lessonRemark"] == null ? "" : Request["lessonRemark"].ToString(); string lessonLab = Request["lessonLab"] == null ? "" : Request["lessonLab"].ToString(); string lesson_Day = Request["lessonDay"] == null ? "" : Request["lessonDay"].ToString(); int lessonArrange; DateTime lessonDay; temp_lesson tl = new temp_lesson(); MsgBox mb = new MsgBox(); if (int.TryParse(lesson_Arrange, out lessonArrange) && DateTime.TryParse(lesson_Day, out lessonDay)) { tl.ID = Guid.NewGuid().ToString(); tl.lessonName = lessonName; tl.lessonNo = lessonNo; tl.lessonTeacher = lessonTeacher; tl.lessonArrange = lessonArrange; tl.lessonRemark = lessonRemark; tl.lessonLab = lessonLab; tl.lessonDay = lessonDay; mb = new LessonManager().saveTempLesson(tl); } else { mb.status = false; mb.msg = "上课时间段选择错误或者时间输入错误。"; } return(Json(mb)); }
public MsgBox saveTempLesson(temp_lesson tl) { MsgBox mb = new MsgBox(); tl.lessonWeekday = (int)tl.lessonDay.DayOfWeek == 0?7:(int)tl.lessonDay.DayOfWeek; tl.status = 0;//0未审核; //判断当前是否与其他课程冲突 if (lessonConflict(tl)) { mb.status = false; mb.msg = "与其他课程冲突!"; } else { try { new Repository <temp_lesson>().Insert(tl); mb.status = true; mb.msg = "保存成功。"; } catch (Exception e) { mb.status = false; mb.msg = e.Message; } } return(mb); }
//判断临时课程冲突,返回true表示有冲突,false表示无冲突 public bool lessonConflict(temp_lesson tl) { bool result = false; int conflicts = 0; //判断与临时课程的冲突 List <QueryField> qf = new List <QueryField>(); qf.Add(new QueryField() { Name = "lessonDay", Type = QueryFieldType.DateTime, Value = tl.lessonDay }); qf.Add(new QueryField() { Name = "lessonArrange", Type = QueryFieldType.Numeric, Value = tl.lessonArrange }); qf.Add(new QueryField() { Name = "lessonLab", Type = QueryFieldType.String, Value = tl.lessonLab }); List <temp_lesson> list1 = new Repository <temp_lesson>().GetList(qf, null) as List <temp_lesson>; //判断与课表冲突 qf.Clear(); qf.Add(new QueryField() { Name = "lessonWeekday", Type = QueryFieldType.Numeric, Value = tl.lessonWeekday }); qf.Add(new QueryField() { Name = "lessonArrange", Type = QueryFieldType.Numeric, Value = tl.lessonArrange }); qf.Add(new QueryField() { Name = "lessonLab", Type = QueryFieldType.String, Value = tl.lessonLab }); List <Lesson> list2 = new Repository <Lesson>().GetList(qf, null) as List <Lesson>; conflicts = list1.Count + list2.Count; if (conflicts > 0) { result = true; } return(result); }