Exemplo n.º 1
0
        /// <summary>
        /// DealWithStudentAnswer
        /// </summary>
        private void DealWithExamResult()
        {
            string isPassed = Constants.EMPTY_STR;

            if (studentGetScore < FormPassValue.passCriteria)
            {
                isPassed = NOPASS;
            }
            else if (studentGetScore >= FormPassValue.passCriteria)
            {
                isPassed = PASS;
            }

            // insert student grade and isPassed
            ExamService.ExamServiceClient examManager = new ExamService.ExamServiceClient();

            //if need to query grade randomly, should insert correct quantity
            examManager.InsertExamResultById(RememberUserParameter.userId, FormPassValue.examId, studentGetScore, isPassed);

            if (FormPassValue.isNoticeStart == 0)
            {
                // update dataGridView dataSource so that avoid student take exam again
                MyExam form = (this.Owner as FormExamList).GetPnlMyExam();

                UserDS.SearchExamDataTable table = examManager.SearchExam(QueryExamState.SortColumn, QueryExamState.SortDirection, form.GetCurrentPage(),
                                                                          form.GetPageSize(), QueryExamState.KeywordState, RememberUserParameter.username);
                form.GetAllExam().GetDgvExamList().DataSource = DataTableUtils.ConvertDataTable(table);
            }

            FormPassValue.isNoticeStart = 0;
        }
Exemplo n.º 2
0
        public UserDS.SearchExamDataTable SearchExam(string sortName, string sortDirection, int currentPage, int pageSize, string keyword, string userName)
        {
            ExamManager examManager = new ExamManager();

            UserDS.SearchExamDataTable table = new UserDS.SearchExamDataTable();
            table.Merge(examManager.SearchExam(sortName, sortDirection, currentPage, pageSize, keyword, userName));
            return(table);
        }
Exemplo n.º 3
0
 //Query Pagination data
 private void QueryPaginationData()
 {
     paginationUtils.TotalRecord = examManager.GetExamCount(RememberUserParameter.username, QueryExamState.KeywordState);
     UserDS.SearchExamDataTable table = examManager.SearchExam(QueryExamState.SortColumn, QueryExamState.SortDirection,
                                                               paginationUtils.CurrentPage, paginationUtils.PageSize, QueryExamState.KeywordState, RememberUserParameter.username);
     this.AllExam.GetDgvExamList().DataSource = DataTableUtils.ConvertDataTable(table);
     EditDataGridView();
 }
Exemplo n.º 4
0
        //extract repeated code
        private void DynamicSort(ExamService.ExamServiceClient examManager, string SortColumn, string SortDirection)
        {
            QueryExamState.SortColumn    = SortColumn;
            QueryExamState.SortDirection = SortDirection;

            UserDS.SearchExamDataTable table = examManager.SearchExam(QueryExamState.SortColumn, QueryExamState.SortDirection,
                                                                      ((MyExam)this.Parent).GetCurrentPage(), ((MyExam)this.Parent).GetPageSize(),
                                                                      QueryExamState.KeywordState, RememberUserParameter.username);
            this.dgvExamList.DataSource = DataTableUtils.ConvertDataTable(table);
        }
Exemplo n.º 5
0
        public void TestSearchExam()
        {
            UserDS.SearchExamDataTable table = examManager.SearchExam("id", "asc", 1, 10, "unfinished", "test");

            foreach (var item in table)
            {
                Assert.AreEqual("computer", item.exam_name);
                Assert.AreEqual(60, item.pass_criteria);
            }
        }
Exemplo n.º 6
0
        public static DataTable ConvertDataTable(UserDS.SearchExamDataTable table)
        {
            var tmpTable = from t in table
                           select new
            {
                t.No,
                t.exam_name,
                t.id,
                t.effective_time,
                t.duration,
                t.pass_criteria,
                t.score,
                t.total_score,
                t.operation
            };

            DataTable  tblDatas = new DataTable(tableName);
            DataColumn dc       = null;

            dc = tblDatas.Columns.Add(noColumn, Type.GetType(systemInt));
            dc = tblDatas.Columns.Add(nameColumn, Type.GetType(systemString));
            dc = tblDatas.Columns.Add(idColumn, Type.GetType(systemInt));
            dc = tblDatas.Columns.Add(effectiveColumn, Type.GetType(systemDateTime));
            dc = tblDatas.Columns.Add(duration, Type.GetType(systemInt));
            dc = tblDatas.Columns.Add(passCriteria, Type.GetType(systemString));
            dc = tblDatas.Columns.Add(totalScore, Type.GetType(systemString));
            dc = tblDatas.Columns.Add(operation, Type.GetType(systemString));

            foreach (var item in tmpTable)
            {
                DataRow newRow = tblDatas.NewRow();
                newRow[noColumn]        = item.No;
                newRow[nameColumn]      = item.exam_name;
                newRow[idColumn]        = item.id;
                newRow[effectiveColumn] = item.effective_time;
                newRow[duration]        = item.duration;
                newRow[passCriteria]    = item.pass_criteria.ToString();
                if (item.score == -1)
                {
                    newRow[totalScore] = "-/" + item.total_score;
                }
                else
                {
                    newRow[totalScore] = item.score + "/" + item.total_score;
                }
                newRow[operation] = item.operation;
                tblDatas.Rows.Add(newRow);
            }

            return(tblDatas);
        }