public ActionResult Index(string sno) { SelectedCourseDBContext selectedcourse = new SelectedCourseDBContext(); List <SelectedCourse> selectedResult = selectedcourse.SelectedCourses.Where(u => u.SNO.Replace(" ", "").Contains(sno.Replace(" ", "")) && u.SEMESTER.Replace(" ", "").Contains("15-16春")).Distinct().ToList(); return(PartialView("DropCourseIndex", selectedResult)); }
public ActionResult StudentList2(string tname) { int i = 0; SelectedCourseDBContext selectSno = new SelectedCourseDBContext(); SelectCourseDBContext selectCname = new SelectCourseDBContext(); BasicInfoDBContext studentMessage = new BasicInfoDBContext(); List <SelectedCourse> studentSno = selectSno.SelectedCourses.Where(u => u.TNAME == tname).ToList(); List <SelectCourse> cname = selectCname.SelectCourses.Where(u => u.TNAME == tname).ToList(); string[] className = new string[cname.Count]; List <BasicInfo> result = new List <BasicInfo>(); foreach (var n in cname) { className[i] = n.CNAME; i++; } foreach (var u in studentSno) { string name = className[1]; if (name == u.CNAME) { List <BasicInfo> message = studentMessage.Basics.Where(m => m.ID == u.SNO && u.CNAME == name && u.SEMESTER == "15-16春").ToList(); result.AddRange(message); } } return(View(result)); }
public ActionResult StudentGrade2(string tname) { int i = 0; SelectedCourseDBContext selectSno = new SelectedCourseDBContext(); BasicInfoDBContext studentMessage = new BasicInfoDBContext(); SelectCourseDBContext selectCname = new SelectCourseDBContext(); List <BasicInfo> studentName = new List <BasicInfo>(); StudentGrade result = null; List <StudentGrade> resultGrade = new List <StudentGrade>(); GradeDBContext grade = new GradeDBContext(); List <SelectedCourse> studentSno = selectSno.SelectedCourses.Where(u => u.TNAME == tname.Replace(" ", "")).ToList(); List <SelectCourse> cname = selectCname.SelectCourses.Where(u => u.TNAME == tname.Replace(" ", "")).ToList(); string[] className = new string[10]; foreach (var n in cname) { className[i] = n.CNAME.ToString().Replace(" ", ""); i++; } foreach (var u in studentSno) { string name = className[1]; if (name == u.CNAME.Replace(" ", "") && u.SEMESTER == "15-16春") { var message = studentMessage.Basics.Where(m => m.ID == u.SNO).FirstOrDefault(); var gradeStudent = grade.Grades.Where(n => n.SNO == u.SNO && n.CNO == u.CNO && n.SEMESTER == "15-16春").FirstOrDefault(); if (gradeStudent != null) { result = new StudentGrade() { SNO = message.ID, SNAME = message.NAME, GRADE = gradeStudent.GRADE }; } else { result = new StudentGrade() { SNO = message.ID, SNAME = message.NAME, GRADE = null }; } resultGrade.Add(result); } } return(View(resultGrade)); }
public string DropCourse(string sno, string cno) { string result = null; SelectCourseDBContext selectDbCourse = new SelectCourseDBContext(); SelectedCourse selectedCourse = new SelectedCourse(); SelectedCourseDBContext selectedDbCourse = new SelectedCourseDBContext(); var selectedResult = selectedDbCourse.SelectedCourses.Where(u => u.SNO == sno && u.CNO == cno).FirstOrDefault(); int id = selectedResult.ID; var deleteResult = selectedDbCourse.SelectedCourses.First(u => u.ID == id); selectedDbCourse.SelectedCourses.Remove(deleteResult); var selectResult = selectDbCourse.SelectCourses.Where(u => u.CNO == cno).FirstOrDefault(); selectedDbCourse.SaveChanges(); selectResult.SELECTEDNUM--; selectDbCourse.SaveChanges(); result = "退课成功!"; return(result); }
public string StudentSelectCourse(string sno, string cno, string cname, string tname, string cdept, string credit, string time) { string result = null; SelectCourseDBContext selectDbContext = new SelectCourseDBContext(); var message = selectDbContext.SelectCourses.Where(u => u.CNO == cno && u.CNAME == cname).FirstOrDefault(); SelectedCourseDBContext selectedDbContext = new SelectedCourseDBContext(); var isSelected = selectedDbContext.SelectedCourses.Where(u => u.CNO == cno && u.SNO == sno).FirstOrDefault(); var classTime = selectedDbContext.SelectedCourses.Where(u => u.SNO == sno).ToList(); if (message == null) { result = "该课程不存在,请核实该课程信息!"; } else if (message.SELECTEDNUM == message.CAPACITY) { result = "该课程所选人数已达人数上限!"; } else if (isSelected != null) { result = "您已经选过该课程!"; } else if (classTime != null) { if (IsConflict(classTime, time)) { result = "课时冲突"; } else { SelectedCourse selectedCourse = new SelectedCourse() { SNO = sno, CNO = cno, CNAME = cname, CREDIT = Convert.ToInt32(credit), CDEPT = cdept, TNAME = tname, TIME = time, SEMESTER = "15-16春" }; selectedDbContext.SelectedCourses.Add(selectedCourse); selectedDbContext.SaveChanges(); message.SELECTEDNUM++; selectDbContext.SaveChanges(); result = "选课成功!"; } } return(result); }
public ActionResult QueryTimeTableIndex(string sno) { string number = null; string[,] timeTable = new string[13, 5]; for (int i = 0; i < 13; i++) { for (int j = 0; j < 5; j++) { timeTable[i, j] = "0"; } } SelectedCourseDBContext selectedcourse = new SelectedCourseDBContext(); List <SelectedCourse> selectedResult = selectedcourse.SelectedCourses.Where(u => u.SNO.Replace(" ", "") == sno && u.SEMESTER.Replace(" ", "") != null).ToList(); Regex regexCharacter = new Regex("[\u4E00-\u9FA5]"); Regex regexDigit = new Regex(@"(\d{1,2})-(\d{1,2})"); foreach (var u in selectedResult) { int n = 0; MatchCollection characterRegex = regexCharacter.Matches(u.TIME); MatchCollection digitRegex = regexDigit.Matches(u.TIME); foreach (Match week in characterRegex) { int m = 0; switch (week.Value.ToString()) { case "一": number = "0"; break; case "二": number = "1"; break; case "三": number = "2"; break; case "四": number = "3"; break; case "五": number = "4"; break; } foreach (Match classTime in digitRegex) { if (m == n) { string[] firstTime = classTime.Value.ToString().Split('-'); for (int i = Convert.ToInt32(firstTime[0]) - 1; i <= Convert.ToInt32(firstTime[1]) - 1; i++) { timeTable[i, Convert.ToInt32(number)] = u.CNAME; } } m++; } n++; } } RowColKey rowColKey = null; List <RowColKey> listRowColKey = new List <RowColKey>(); for (int i = 0; i < 13; i++) { for (int j = 0; j < 5; j++) { if (timeTable[i, j] != "0") { rowColKey = new RowColKey() { Row = i, Col = j, Key = timeTable[i, j] }; listRowColKey.Add(rowColKey); } } } return(View(listRowColKey)); }
public bool IsConflict(List <SelectedCourse> classTimeMessage, string selectTime) { //如果课时冲突,那么返回true SelectedCourseDBContext selectedDbContext = new SelectedCourseDBContext(); int i = 0; bool isTrue = false; Regex regexCharacter = new Regex("[\u4E00-\u9FA5]"); Regex regexDigit = new Regex(@"(\d{1,2})-(\d{1,2})"); foreach (var u in classTimeMessage) { MatchCollection characterRegex = regexCharacter.Matches(u.TIME); MatchCollection timeCharacterRegex = regexCharacter.Matches(selectTime); MatchCollection digitRegex = regexDigit.Matches(u.TIME); MatchCollection timeDiginRegex = regexDigit.Matches(selectTime); foreach (Match num in characterRegex) { int j = 0; if (isTrue == true) { break; } foreach (Match timenum in timeCharacterRegex) { int m = 0; if (isTrue == true) { break; } if (num.Value == timenum.Value) { foreach (Match digit in digitRegex) { int n = 0; if (isTrue == true) { break; } foreach (Match timeDig in timeDiginRegex) { if (i == m && j == n) { string[] course = digit.Value.ToString().Split('-'); string[] timeCourse = timeDig.Value.ToString().Split('-'); if ((Convert.ToInt32(course[1].ToString()) < Convert.ToInt32(timeCourse [0].ToString())) || (Convert.ToInt32(course[0].ToString()) > Convert.ToInt32(timeCourse[1].ToString()))) { isTrue = false; } else { isTrue = true; break; } } ++n; } ++m; } } ++j; } ++i; } } return(isTrue); }