Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 7
0
        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);
        }