Beispiel #1
0
        /// <summary>
        /// 增加回评
        /// </summary>
        /// <param name="teacherId"></param>
        /// <param name="pressCheck"></param>
        public void Enqueue(Int32 teacherId, PressCheck pressCheck)
        {
            Queue <PressCheck> queue = PressReview[teacherId];

            PressCheck pc = queue.SingleOrDefault(s => s.Id == pressCheck.Id);

            if (pc != null)
            {
                pc.IsPressed = true;

                pc.Score = pressCheck.Score;

                return;
            }


            if (queue.Count == _pressPressCount)
            {
                while (true)
                {
                    PressCheck dpressCheck = queue.Dequeue();

                    if (!dpressCheck.IsPressed)
                    {
                        break;
                    }

                    CallBack(dpressCheck);
                }
            }

            queue.Enqueue(pressCheck);
        }
Beispiel #2
0
        private void CallBack(PressCheck pressCheck)
        {
            AnswerCheck answerCheck = OnlineCheckManager.Instance.AnswerSheets.SelectMany(s => s.AnswerChecks)
                                      .SingleOrDefault(s => s.AnswerCheckId == pressCheck.AnswerCheckId);

            answerCheck.TeacherCheckManagerx.PressReturn();
        }
Beispiel #3
0
        /// <summary>
        /// 手动回评
        /// </summary>
        /// <param name="teacherId"></param>
        /// <param name="answerCheckId"></param>
        /// <param name="socre"></param>
        public void Press(Int32 teacherId, String answerCheckId, Dictionary <String, Double> socre)
        {
            PressCheck pressCheck = PressReview[teacherId].SingleOrDefault(s => s.AnswerCheckId == answerCheckId);

            if (pressCheck == null)
            {
                return;
            }

            pressCheck.IsPressed = true;

            pressCheck.Score = socre;

            CallBack(pressCheck);
        }