Beispiel #1
0
        public List <SingleScoreInfo> GetSingleScoreList(Guid ClassIDNum, Guid PaperIDNum)
        {
            List <SingleScoreInfo> SingleScoreInfoList = new List <SingleScoreInfo>();
            List <CEDTS_User>      userlist            = _user.SelectUserByClassID(ClassIDNum);
            CEDTS_Paper            paper = _paper.GetPaperByID(PaperIDNum);
            double totalscore            = paper.Score.Value;

            foreach (var user in userlist)
            {
                SingleScoreInfo eachsinglescore = new SingleScoreInfo();
                eachsinglescore.UserID     = user.UserID;
                eachsinglescore.StudNum    = user.StudentNumber;
                eachsinglescore.StudName   = user.UserNickname;
                eachsinglescore.TotalScore = totalscore;
                CEDTS_Test test = _paper.GetTestByPaperID(SinglePaperID, user.UserID);
                if (test == null || test.IsFinished == false)
                {
                    eachsinglescore.Done    = false;
                    eachsinglescore.Score   = 0;
                    eachsinglescore.Percent = 0;
                }
                else
                {
                    eachsinglescore.Done    = true;
                    eachsinglescore.Score   = test.TotalScore.Value;
                    eachsinglescore.Percent = test.TotalScore.Value / totalscore * 100;
                }
                SingleScoreInfoList.Add(eachsinglescore);
            }
            return(SingleScoreInfoList);
        }
        void ICedts_TestRepository.UpdateTest(CEDTS_Test test)
        {
            var oldtest = db.CEDTS_Test.Where(p => p.TestID == test.TestID).FirstOrDefault();

            db.ApplyCurrentValues <CEDTS_Test>(oldtest.EntityKey.EntitySetName, test);

            db.SaveChanges();
        }
        public ActionResult Remark(FormCollection form)
        {
            this.ValidateRequest = false;
            Guid   testID  = Guid.Parse(form["testid"]);
            string content = form["myEditor"];

            content = content.Substring(3, content.LastIndexOf('p') - 5);
            CEDTS_Test test = _test.GetTest(testID);

            test.Remark    = content;
            test.IsChecked = 1;
            _test.UpdateTest(test);
            return(RedirectToAction("Index"));
        }
Beispiel #4
0
        public ActionResult Suggestions(int UserID, Guid PaperID)
        {
            CEDTS_Test test    = _paper.GetTestByPaperID(PaperID, UserID);
            string     Content = String.Empty;

            if (test == null || test.IsFinished == false)
            {
                Content = "该生暂未练习。";
            }
            else
            {
                double score      = test.TotalScore.Value;
                double paperscore = _paper.GetPaperByID(PaperID).Score.Value;
                string face       = string.Empty;
                double ScoreRate  = score / paperscore;
                if (ScoreRate >= 0.9)
                {
                    face = "优秀<img src='../../../../Images/1.1.gif'></img>";
                }
                if (ScoreRate < 0.9 && ScoreRate >= 0.8)
                {
                    face = "良好<img src='../../../../Images/1.2.gif'></img>";
                }
                if (ScoreRate < 0.8 && ScoreRate >= 0.7)
                {
                    face = "一般<img src='../../../../Images/1.3.gif'></img>";
                }
                if (ScoreRate < 0.7 && ScoreRate >= 0.6)
                {
                    face = "及格<img src='../../../../Images/1.4.gif'></img>";
                }
                if (ScoreRate < 0.6 && ScoreRate >= 0.5)
                {
                    face = "不及格<img src='../../../../Images/1.5.gif'></img>";
                }
                if (ScoreRate < 0.5)
                {
                    face = "很差<img src='../../../../Images/1.6.gif'></img>";
                }
                Content = "<b>试卷总分:</b>" + paperscore + "分, <b>实际得分:</b>" + score + "分," + face + "。";
            }
            return(Json(Content));
        }
Beispiel #5
0
        public ActionResult AssignedExercise(int?id)
        {
            List <ScoreInfo> scorelist = new List <ScoreInfo>();
            int               UserID   = _user.SelectUserByAccout(User.Identity.Name).UserID;
            List <Guid?>      paclist  = _paper.SelectPaperByPeriod(BeginTime, EndTime, UserID, ClassID);
            List <CEDTS_User> userlist = _user.SelectUserByClassID(ClassID);

            foreach (var user in userlist)
            {
                ScoreInfo eachscore = new ScoreInfo();
                eachscore.UserID    = user.UserID;
                eachscore.StudNum   = user.StudentNumber;
                eachscore.StudName  = user.UserNickname;
                eachscore.TestNames = new List <string>();
                eachscore.TestScore = new List <double>();
                List <CEDTS_Test> usertest = _paper.SelectTestByPeriod(BeginTime, EndTime, user.UserID);
                foreach (var pac in paclist)
                {
                    CEDTS_Paper paper = _paper.GetPaperByID(Guid.Parse(pac.ToString()));
                    eachscore.TestNames.Add(paper.Title);
                    CEDTS_Test test = _paper.GetTestByPaperID(Guid.Parse(pac.ToString()), user.UserID);
                    if (test != null && test.IsFinished == true)
                    {
                        eachscore.TestScore.Add(double.Parse(test.TotalScore.ToString()) / double.Parse(paper.Score.ToString()) * 100);
                    }
                    else
                    {
                        eachscore.TestScore.Add(0);
                    }
                }
                double totalscore = 0.0;
                foreach (var score in eachscore.TestScore)
                {
                    totalscore += score;
                }
                eachscore.AveScore = totalscore / eachscore.TestScore.Count;
                scorelist.Add(eachscore);
            }
            ViewData["StartDate"] = BeginTime;
            ViewData["EndDate"]   = EndTime;
            ViewData["ClassName"] = ClassName;
            return(View(_paper.ScoreInfoPaged(id, scorelist)));
        }
Beispiel #6
0
        public ActionResult SingleTest(int id)
        {
            CEDTS_Paper paper = _paper.GetPaperByID(SinglePaperID);

            ViewData["UserID"]     = id;
            ViewData["PaperID"]    = SinglePaperID;
            ViewData["PaperName"]  = paper.Title;
            ViewData["PaperState"] = paper.State;
            CEDTS_Test test = _paper.GetTestByPaperID(SinglePaperID, id);

            if (test == null || test.IsFinished == false)
            {
                ViewData["TestID"] = "";
            }
            else
            {
                ViewData["TestID"] = test.TestID;
            }
            return(View());
        }
Beispiel #7
0
        public ActionResult AllExercise(int?id)
        {
            List <ScoreInfo> scorelist = new List <ScoreInfo>();
            int               UserID   = _user.SelectUserByAccout(User.Identity.Name).UserID;
            List <Guid?>      paclist  = _paper.SelectPaperByPeriod(BeginTime, EndTime, UserID, ClassID);
            List <CEDTS_User> userlist = _user.SelectUserByClassID(ClassID);

            foreach (var user in userlist)
            {
                ScoreInfo eachscore = new ScoreInfo();
                eachscore.UserID    = user.UserID;
                eachscore.StudNum   = user.StudentNumber;
                eachscore.StudName  = user.UserNickname;
                eachscore.TestNames = new List <string>();
                eachscore.TestScore = new List <double>();
                List <CEDTS_Test> usertest = _paper.SelectTestByPeriod(BeginTime, EndTime, user.UserID);
                foreach (var pac in paclist)
                {
                    CEDTS_Paper paper = _paper.GetPaperByID(Guid.Parse(pac.ToString()));
                    eachscore.TestNames.Add(paper.Title);
                    CEDTS_Test test = _paper.GetTestByPaperID(Guid.Parse(pac.ToString()), user.UserID);
                    if (test != null && test.IsFinished == true)
                    {
                        eachscore.TestScore.Add(double.Parse(test.TotalScore.ToString()) / double.Parse(paper.Score.ToString()) * 100);
                    }
                    else
                    {
                        eachscore.TestScore.Add(0);
                    }
                }

                int    donenum    = 0;
                double userscore  = 0.0;
                double totalscore = 0.0;
                foreach (var test in usertest)
                {
                    if (!paclist.Contains(test.PaperID))
                    {
                        List <CEDTS_PaperAssessment> assessment = _paper.SelectPaperAssessmentItem(test.PaperID);
                        foreach (var ass in assessment)
                        {
                            donenum += _paper.SelectQNByAssessmentID(Guid.Parse(ass.AssessmentItemID.ToString()));
                        }
                        userscore  += double.Parse(test.TotalScore.ToString());
                        totalscore += double.Parse(_paper.SelectPaper(test.PaperID).Score.ToString());
                    }
                }
                eachscore.DoneNum = donenum;
                if (totalscore == 0)
                {
                    eachscore.DoneScore = 0.0;
                }
                else
                {
                    eachscore.DoneScore = userscore / totalscore * 100;
                }
                double avescore = 0.0;
                foreach (var score in eachscore.TestScore)
                {
                    avescore += score;
                }
                eachscore.AveScore = (avescore + eachscore.DoneScore) / (eachscore.TestScore.Count + 1);
                scorelist.Add(eachscore);
            }
            ViewData["StartDate"] = BeginTime;
            ViewData["EndDate"]   = EndTime;
            ViewData["ClassName"] = ClassName;
            return(View(_paper.ScoreInfoPaged(id, scorelist)));
        }