public JsonResult CourseSearch(string courseSpecie, string department, int grade, string class1) { try { SchoolContext db = new SchoolContext(); List <CourseListsByCourseWork> courseListsByCourseWorkList = new List <CourseListsByCourseWork>(); var courseSorts = (courseSpecie == "系所課程")? CourseSorts.C : CourseSorts.G; var Courses = db.Course.Where(x => x.IsActive == true && x.SignupBeginDate <= DateTime.Now && DateTime.Now <= x.SignupEndDate && x.SectionDepartment.CourseSorts == courseSorts && x.SectionDepartment.Department == department && x.Grade == grade && x.Class == class1).OrderBy(x => x.CourseID).ToList(); foreach (var c in Courses) { var eTimePeriod = (c.ClassTime.ClassPeriod + c.NumberOfHours) - 1; var schoolNumber = (c.Classroom == null) ? "不指定教室" : c.Classroom.SchoolNumber; CourseListsByCourseWork courseListsByCourseWork = new CourseListsByCourseWork(); courseListsByCourseWork.CourseId = c.CourseID; courseListsByCourseWork.SubjectNumber = c.SubjectNumber; courseListsByCourseWork.Subject = c.Subject; courseListsByCourseWork.Credits = c.Credits; courseListsByCourseWork.TimeLocation = "星期" + c.ClassTime.Week + "(" + c.ClassTime.ClassPeriod + "節~" + eTimePeriod + "節) " + schoolNumber; //ex: 星期一(2節~4節) T20101 courseListsByCourseWork.IsCourseLists = false; courseListsByCourseWork.Week = c.ClassTime.Week; courseListsByCourseWork.FTime = c.ClassTime.ClassPeriod; courseListsByCourseWork.ETime = eTimePeriod; courseListsByCourseWorkList.Add(courseListsByCourseWork); } return(Json(new { courseLists = courseListsByCourseWorkList })); } catch (Exception ex) { return(Json(new { message = ex.Message, error = false })); } }
public JsonResult GetCourseList() { try { SchoolContext db = new SchoolContext(); string loginId = Session["sIDNo"].ToString(); List <CourseListsByCourseWork> courseListsByCourseWorkList = new List <CourseListsByCourseWork>(); List <CourseListsByCartsByCourseWork> courseListsByCartsByCourseWorkList = new List <CourseListsByCartsByCourseWork>(); List <CourseListsByCartsByCourseWork> courseListsByCartsByCourseWorkList1 = new List <CourseListsByCartsByCourseWork>(); //幫前端的courseListsByCarts初始化 //搜尋條件----- List <string> departmentList = new List <string>(); var user = db.Student.FirstOrDefault(x => x.LogonId == loginId); var userSection = user.SectionDepartment.Section; var sectionDepartment = user.SectionDepartment.Department; var Grade = (user.Grade > 3) ? 4 : user.Grade; var Class = user.Class; var sectionDepartments = db.SectionDepartment.Where(x => x.CourseSorts == CourseSorts.C && x.Section == userSection); foreach (var sd in sectionDepartments) { departmentList.Add(sd.Department); } //---------------- //課程清單------------ var Courses = db.Course.Where(x => x.IsActive == true && x.SignupBeginDate <= DateTime.Now && DateTime.Now <= x.SignupEndDate && x.SectionDepartmentId == user.SectionDepartmentId && x.Grade == Grade && x.Class == user.Class).OrderBy(x => x.CourseID).ToList(); foreach (var c in Courses) { var eTimePeriod = (c.ClassTime.ClassPeriod + c.NumberOfHours) - 1; var schoolNumber = (c.Classroom == null)?"不指定教室": c.Classroom.SchoolNumber; CourseListsByCourseWork courseListsByCourseWork = new CourseListsByCourseWork(); courseListsByCourseWork.CourseId = c.CourseID; courseListsByCourseWork.SubjectNumber = c.SubjectNumber; courseListsByCourseWork.Subject = c.Subject; courseListsByCourseWork.Credits = c.Credits; courseListsByCourseWork.TimeLocation = "星期" + c.ClassTime.Week + "(" + c.ClassTime.ClassPeriod + "節~" + eTimePeriod + "節) " + schoolNumber; //ex: 星期一(2節~4節) T20101 courseListsByCourseWork.IsCourseLists = false; courseListsByCourseWork.Week = c.ClassTime.Week; courseListsByCourseWork.FTime = c.ClassTime.ClassPeriod; courseListsByCourseWork.ETime = eTimePeriod; courseListsByCourseWorkList.Add(courseListsByCourseWork); } //--------------------------- //我的課程購物車---------------------- var courses = db.Course.Where(x => x.IsActive == true).OrderByDescending(x => x.CourseID).ToList(); var startingSchoolYear = courses[0].StartingSchoolYear; var semester = courses[0].Semester; var electives = db.Elective.Where(x => x.StartingSchoolYear == startingSchoolYear && x.Semester == semester && x.LogonId == loginId).ToList(); foreach (var e in electives) { var eTimePeriod = (e.Course.ClassTime.ClassPeriod + e.Course.NumberOfHours) - 1; var schoolNumber = (e.Course.Classroom == null) ? "不指定教室" : e.Course.Classroom.SchoolNumber; CourseListsByCartsByCourseWork courseListsByCartsByCourseWork = new CourseListsByCartsByCourseWork(); courseListsByCartsByCourseWork.ElectiveId = e.ID; courseListsByCartsByCourseWork.CourseId = e.CourseId; courseListsByCartsByCourseWork.SubjectNumber = e.Course.SubjectNumber; courseListsByCartsByCourseWork.Subject = e.Course.Subject; courseListsByCartsByCourseWork.Credits = e.Credits; courseListsByCartsByCourseWork.TimeLocation = "星期" + e.Course.ClassTime.Week + "(" + e.Course.ClassTime.ClassPeriod + "節~" + eTimePeriod + "節) " + schoolNumber; //ex: 星期一(2節~4節) T20101 courseListsByCartsByCourseWork.Status = "選課成功"; courseListsByCartsByCourseWork.Week = e.Course.ClassTime.Week; courseListsByCartsByCourseWork.FTime = e.Course.ClassTime.ClassPeriod; courseListsByCartsByCourseWork.ETime = eTimePeriod; courseListsByCartsByCourseWorkList.Add(courseListsByCartsByCourseWork); } //---------------------------- return(Json(new { sectionDepartmentCores = departmentList, sectionDepartmentCore = sectionDepartment, grade1 = Grade, class1 = Class, courseLists = courseListsByCourseWorkList, courseListsByCartOks = courseListsByCartsByCourseWorkList, courseListsByCarts = courseListsByCartsByCourseWorkList1 })); } catch (Exception ex) { return(Json(new { message = ex.Message, error = false })); } }