Esempio n. 1
0
        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 }));
            }
        }
Esempio n. 2
0
        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 }));
            }
        }