예제 #1
0
        public UCAnswerPanel()
        {
            InitializeComponent();

            if (this.IsDesignMode())
            {
                return;
            }

            this.Visibility = Visibility.Collapsed;
            initEvents();

            Loaded += (s, e) =>
            {
                foreach (var student in APP.StudySession.GetStudyStudents())
                {
                    var penStatus = PenController.Instance.GetPenStatus(student.id);
                    var item      = new ViewModels.StudentView(student);
                    item.IsSubmit   = penStatus.IsSubmit;
                    item.IsWriteing = penStatus.IsWriteing;
                    item.IsOnline   = penStatus.IsOnline;
                    mStudentViews.Add(item);
                }
                ;
                ICUser.ItemsSource = mStudentViews;
            };
        }
예제 #2
0
        /// <summary>
        /// 加载用户数据和题的信息
        /// </summary>
        /// <param name="studentId"></param>
        /// <param name="questionRecordId"></param>
        private void UpdateData(string exercise_record_id, long questionId)
        {
            var student     = APP.StudySession.GetStudyStudent(StudentId);
            var studentView = new ViewModels.StudentView(student);

            var questionRecord = APP.IDatas.ErPaperPracticeRecordQuestionSealUp
                                 .Where(m => m.paper_practice_record_id == exercise_record_id && m.source_question_id == questionId)
                                 .Select(m => new { m.first_step_stem, m.start_practice_time })
                                 .FirstOrDefault();

            mPageData.StudentId = StudentId;
            mPageData.Name      = studentView.Name;
            mPageData.Face      = studentView.Face;
            if (questionRecord != null)
            {
                mPageData.QuestionTitle = questionRecord.first_step_stem;
            }
            if (this.IsShowAnswer)
            {
                var mButtonAnswer = APP.IDatas.ErStudentButtonAnswerOriginalRecord
                                    .Where(m => m.student_id == this.StudentId && m.exercise_record_id == exercise_record_id && m.question_id == questionId && m.step_number == 1)
                                    .Select(m => new
                {
                    m.is_submit,
                    m.button_item,
                    m.create_time,
                    m.step_number
                }).OrderBy(m => m.create_time).ToList();

                if (mButtonAnswer.Count > 0)
                {
                    var lastResult = mButtonAnswer.Where(m => m.is_submit).OrderByDescending(m => m.create_time).Select(m => new { m.button_item, m.create_time }).FirstOrDefault();
                    if (lastResult != null)
                    {
                        var lastTime = (lastResult.create_time.Value - questionRecord.start_practice_time.Value).ToString(@"m'\''s'\'\''");
                        mPageData.IsSubmitAnswerText = $"提交答案:{lastResult.button_item},总共用时:" + lastTime;
                    }
                    else
                    {
                        mPageData.IsSubmitAnswerText = "提交答案:未提交";
                    }
                    var submits = mButtonAnswer.Where(m => m.is_submit).OrderBy(m => m.create_time).ToList();
                    var list    = new List <string>();
                    for (var i = 0; i < submits.Count; i++)
                    {
                        var item     = submits[i];
                        var lastTime = (item.create_time.Value - questionRecord.start_practice_time.Value).ToString(@"m'\''s'\'\''");
                        list.Add($"第{MSUtils.NumberToChinese(i + 1)}次提交答案:用时{lastTime}");
                    }
                    mPageData.AnswerText = list.ToJoin(";");
                }
                else
                {
                    mPageData.IsSubmitAnswerText = "提交答案:未提交";
                    mPageData.AnswerText         = "未做题";
                }
            }
        }