コード例 #1
0
        public int checkPreRequire(SpreadsheetModel spr)
        {
            var orgId       = _orgCoreModel.GetOrganizationIdByName(spr.OrganizationName).SelectedDetails;
            var subId       = _subjectCoreModel.GetSubjectIdByName(spr.SubjectName).SelectedDetails;
            var topId       = _topicCoreModel.GetTopicIdByName(spr.TopicName).SelectedDetails;
            var objectiveId = _objectiveCoreModel.GetObjectiveIdByName(spr.ObjectiveName).SelectedDetails;

            if (orgId == "[]" || subId == "[]" || topId == "[]" || objectiveId == "[]")
            {
                return(0);
            }
            return(1);
        }
コード例 #2
0
        public int saveQueAndAns(SpreadsheetModel spr)
        {
            /*save question*/
            var que      = spr.questionModel;
            var subObjId = _subobjCoreModel.GetSubObjectiveIdByName(que.SubObjectiveName).SelectedDetails;

            que.SubObjectiveID = Int32.Parse(extractID(subObjId));
            _questionCoreModel.Save(que);

            /*save answers*/
            var que_id = extractID(_questionCoreModel.GetLastQuestionId().List);

            foreach (var ans in spr.answerList)
            {
                ans.QuestionID = que_id;
                _answerCoreModel.Save(ans);
            }
            return(1);
        }
コード例 #3
0
        public int checkQueAndAns(SpreadsheetModel spr)
        {
            /*check question*/
            var que_ret = checkQue(spr.questionModel);

            if (que_ret == 0)
            {
                return(0);
            }

            /*check answers*/
            foreach (var ans in spr.answerList)
            {
                if (checkAns(ans) == 0)
                {
                    return(0);
                }
            }
            return(1);
        }
コード例 #4
0
        private void btnOk_Click(object sender, EventArgs e)
        {
            var n = treeView1.SelectedNode;

            if (n != null)
            {
                SelectedWorksheet = n.Tag as WorksheetModel;
            }

            if (SelectedWorksheet == null)
            {
                MessageBox.Show("Please select a worksheet");
                return;
            }
            else
            {
                SelectedSpreadsheet = n.Parent.Tag as SpreadsheetModel;
            }
            DialogResult = DialogResult.OK;
        }
コード例 #5
0
        public List <SpreadsheetModel> SaveDataToList(Excel.Range range)
        {
            /*question type and difficulty id & name hashtable*/
            Hashtable queTypeId = new Hashtable();

            queTypeId.Add("Fill in the Blank", "1");
            queTypeId.Add("Long Strings", "2");
            queTypeId.Add("String with Image", "3");
            queTypeId.Add("Image Only", "4");
            queTypeId.Add("", "0");

            Hashtable queDiff = new Hashtable();

            queDiff.Add("High", 1);
            queDiff.Add("Medium", 2);
            queDiff.Add("Low", 3);
            queDiff.Add("", 0);

            /*statics for excel data. True means save success to the db, False means save failure */
            var stats = new List <int>();

            var list = new List <SpreadsheetModel>();

            for (int row = 2; row <= range.Rows.Count; row++)
            {
                /* if question content is not null, add the question */
                if (((Excel.Range)range.Cells[row, 6]).Text != "")
                {
                    var queModel = new QuestionModel();
                    var ansList  = new List <AnswerModel>();
                    var spr      = new SpreadsheetModel
                    {
                        questionModel = queModel,
                        answerList    = ansList
                    };
                    spr.OrganizationName = ((Excel.Range)range.Cells[row, excelQue.OrganizationName]).Text;
                    spr.SubjectName      = ((Excel.Range)range.Cells[row, excelQue.SubjectName]).Text;
                    spr.TopicName        = ((Excel.Range)range.Cells[row, excelQue.TopicName]).Text;
                    spr.ObjectiveName    = ((Excel.Range)range.Cells[row, excelQue.ObjectiveName]).Text;
                    spr.questionModel.SubObjectiveName = ((Excel.Range)range.Cells[row, excelQue.SubObjectiveName]).Text;
                    spr.questionModel.QuestionContent  = ((Excel.Range)range.Cells[row, excelQue.QuestionContent]).Text;
                    spr.questionModel.QuestionCode     = ((Excel.Range)range.Cells[row, excelQue.QuestionCode]).Text;
                    spr.questionModel.IsActive         = ((Excel.Range)range.Cells[row, excelQue.IsActive]).Text;

                    var typeText = ((Excel.Range)range.Cells[row, excelQue.QuestionTypeId]).Text;
                    spr.questionModel.QuestionTypeId = queTypeId[typeText] != null ? queTypeId[typeText] : "0";

                    var diffText = ((Excel.Range)range.Cells[row, excelQue.Difficulty]).Text;
                    spr.questionModel.Difficulty = queDiff[diffText] != null?queDiff[diffText]:0;

                    /*if question type id is 3 or 4, add the questionimage field the question code, otherwise, the field should be null */
                    if (spr.questionModel.QuestionTypeId == "3" || spr.questionModel.QuestionTypeId == "4")
                    {
                        spr.questionModel.QuestionImage = ((Excel.Range)range.Cells[row, excelQue.QuestionImage]).Text;
                    }
                    else
                    {
                        spr.questionModel.QuestionImage = null;
                    }

                    /*if answer content is not null, add the answer. */
                    int ans_index = (int)excelQue.IsActive + 1;
                    while (((Excel.Range)range.Cells[row, ans_index]).Text != "")
                    {
                        var ans = new AnswerModel();
                        ans.AnswerContent = ((Excel.Range)range.Cells[row, ans_index + excelAns.AnswerContent]).Text;
                        ans.Explanation   = ((Excel.Range)range.Cells[row, ans_index + excelAns.Explanation]).Text;
                        ans.AnswerCode    = ((Excel.Range)range.Cells[row, ans_index + excelAns.AnswerCode]).Text;
                        ans.IsActive      = ((Excel.Range)range.Cells[row, ans_index + excelAns.IsActive]).Text;
                        ans.IsCorrect     = ((Excel.Range)range.Cells[row, ans_index + excelAns.IsCorrect]).Text;
                        spr.answerList.Add(ans);
                        ans_index += 5;
                    }
                    list.Add(spr);
                }
            }
            return(list);
        }