コード例 #1
0
        private void addNewButton_Click(object sender, EventArgs e)
        {
            byte order;

            try
            {
                order =
                    (byte)
                    questionToPassageSetsDataGrid.Rows[questionToPassageSetsDataGrid.Rows.Count - 1].Cells[
                        questionOrderDataGridViewTextBoxColumn.Index].Value;
            }
            catch
            {
                order = 0;
            }
            Guid guid = Guid.NewGuid();

            Dataset.QuestionsExRow questionRow =
                dbObject.FullDataset.QuestionsEx.AddQuestionsExRow(1, 1, 1, "New question to passage(" + guid + ")",
                                                                   null, value.SetId, order, 0, 0);
            dbObject.FullDataset.PassagesToQuestionsEx.AddPassagesToQuestionsExRow(value.Text, value.Id, questionRow.Id);
            questionRow.SubtypeId = 4;
            value.Text           += "";
            Question qse = new Question(questionRow, dbObject.GetConnection(), (PassageQuestion)(dbObject));

            ApplicationController.Instance.Edit(qse);
            // dbObject.FullDatasetQuestionsEx.FindByIdSetId(Id, value.SetId).Text
            PassageQuestionEditor_Load(null, null);
        }
コード例 #2
0
        private void questionSetsDataGrid_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == -1)
            {
                DataGridView           gw          = (DataGridView)sender;
                Dataset.QuestionsExRow questionRow = dbObject.FullDataset.QuestionsEx.FindByIdSetId((int)gw.Rows[e.RowIndex].Cells[0].Value, Id);
                if (questionRow.SubtypeId == 4)
                {
                    try
                    {
                        for (int i = 0; i < dbObject.FullDataset.PassagesToQuestionsEx.Count; ++i)
                        {
                            if (dbObject.FullDataset.PassagesToQuestionsEx[i].Id == questionRow.Id)
                            {
                                questionRow = dbObject.FullDataset.QuestionsEx.FindByIdSetId(dbObject.FullDataset.PassagesToQuestionsEx[i].PassageQuestionId, Id);
                            }
                        }
                        //questionRow = dbObject.FullDataset.QuestionsEx.FindByIdSetId(dbObject.FullDataset.PassagesToQuestionsEx.FindById(questionRow.Id).PassageQuestionId, Id);
                        PassageQuestion qse = new PassageQuestion(questionRow, dbObject.GetConnection(), (QuestionSet)(dbObject));
                        ApplicationController.Instance.Edit(qse);
                    }catch
                    {
                        MessageBox.Show("Problem in database! Check database.", "DbError", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    Question qse = new Question(questionRow, dbObject.GetConnection(), (QuestionSet)(dbObject));
                    ApplicationController.Instance.Edit(qse);
                }

                return;
            }
        }
コード例 #3
0
 //public Connection connection;
 public PassageQuestion(Dataset.QuestionsExRow value, Connection connection, Entity parent)
     :
     base(value.Text, new QuestionType(
              new OptionalInteger(value.IsTypeIdNull() ? null : (Object)value.TypeId),
              new OptionalInteger(value.IsSubtypeIdNull() ? null : (Object)value.SubtypeId)))
 {
     this.value = value;
     parent.AddNewChild(this);
     this.connection = connection;
 }
コード例 #4
0
        private void questionToPassageSetsDataGrid_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            DataGridView gw = (DataGridView)sender;

            if (e.ColumnIndex == -1)
            {
                Dataset.QuestionsExRow questionRow =
                    dbObject.FullDataset.QuestionsEx.FindByIdSetId(
                        (int)gw.Rows[e.RowIndex].Cells[idDataGridViewTextBoxColumn.Index].Value, value.SetId);
                //questionRow = dbObject.FullDataset.QuestionsEx.FindByIdSetId(dbObject.FullDataset.PassagesToQuestionsEx.FindById(questionRow.Id).PassageQuestionId, Id);
                Question qse = new Question(questionRow, dbObject.GetConnection(), (PassageQuestion)(dbObject));
                ApplicationController.Instance.Edit(qse);
            }
        }
コード例 #5
0
 private void createButton_Click(object sender, EventArgs e)
 {
     byte[] temp = new byte[0];
     newQuestion = data.QuestionsEx.AddQuestionsExRow(typeComboBox.SelectedIndex + 1,
                                                      subTypecomboBox.SelectedIndex + 1,
                                                      difficutlyLevelcomboBox.SelectedIndex + 1,
                                                      textTextBox.Text, temp, setId, 0, 0, 0
                                                      );
     if (picture == null)
     {
         newQuestion.SetPictureNull();
     }
     else
     {
         newQuestion.Picture = picture;
     }
     DialogResult = DialogResult.OK;
 }
コード例 #6
0
        public override void SaveCurrentEdit()
        {
            Dataset.QuestionsExRow questionRow = dbObject.FullDataset.QuestionsEx.FindByIdSetId(_questionRow.Id, _questionRow.SetId);
            if (questionRow == null)
            {
                return;
            }
            questionRow.DifficultyLevelId =
                difficutlyLevelcomboBox.SelectedIndex + 1;
            questionRow.TypeId    = (int)typeComboBox.SelectedValue;
            questionRow.SubtypeId = (int)subTypecomboBox.SelectedValue;
            questionRow.Text      = textTextBox.Text;
            questionRow.Picture   = picture;
            byte order = 0;

            for (int i = 0; i < dataSet.Answers.Count; ++i)
            {
                if (dataSet.Answers[i].RowState == DataRowState.Deleted)
                {
                    continue;
                }

                if (dataSet.Answers[i].QuestionId != _questionRow.Id)
                {
                    continue;
                }

                if (dataSet.Answers[i].RowState == DataRowState.Added)
                {
                    dbObject.FullDataset.Answers.AddAnswersRow(_questionRow.Id, dataSet.Answers[i].Text,
                                                               dataSet.Answers[i].IsCorrect, order);
                    order++;
                }

                if (dataSet.Answers[i].RowState == DataRowState.Modified)
                {
                    dbObject.FullDataset.Answers.FindById(dataSet.Answers[i].Id).Text      = dataSet.Answers[i].Text;
                    dbObject.FullDataset.Answers.FindById(dataSet.Answers[i].Id).IsCorrect =
                        dataSet.Answers[i].IsCorrect;
                    order++;
                    continue;
                }
            }
        }
コード例 #7
0
 private void addButton_Click(object sender, EventArgs e)
 {
     if (questionDataGrid.SelectedRows.Count != 0)
     {
         for (int i = 0; i < dataset.QuestionsEx.Count; ++i)
         {
             if (dataset.QuestionsEx[i].RowState == DataRowState.Deleted)
             {
                 continue;
             }
             if (dataset.QuestionsEx[i].Id == (int)questionDataGrid.SelectedRows[0].Cells[0].Value)
             {
                 qr = dataset.QuestionsEx[i];
                 //FindByIdSetId((int)questionDataGrid.SelectedRows[0].Cells[0].Value);
                 break;
             }
         }
         DialogResult = DialogResult.OK;
     }
 }
コード例 #8
0
        private void addNewButton_Click(object sender, EventArgs e)
        {
            byte order;

            try
            {
                order = (byte)questionSetsDataGrid.Rows[questionSetsDataGrid.Rows.Count - 1].Cells[questionOrderDataGridViewTextBoxColumn.Index].Value;
            }catch { order = 0; }
            Guid guid = Guid.NewGuid();

            Dataset.QuestionsExRow questionRow = dbObject.FullDataset.QuestionsEx.AddQuestionsExRow(1, 1, 1, "New question (" + guid + ")", null, Id, order, 0, 0);
            if (!dbObject.FullDataset.QuestionSetsEx.FindById(Id).IsQuestionTypeIdNull())
            {
                questionRow.TypeId = dbObject.FullDataset.QuestionSetsEx.FindById(Id).QuestionTypeId;
            }
            if (!dbObject.FullDataset.QuestionSetsEx.FindById(Id).IsQuestionSubtypeIdNull())
            {
                questionRow.SubtypeId = dbObject.FullDataset.QuestionSetsEx.FindById(Id).QuestionSubtypeId;
            }
            Question qse = new Question(questionRow, dbObject.GetConnection(), (QuestionSet)(dbObject));

            ApplicationController.Instance.Edit(qse);
        }
コード例 #9
0
ファイル: DbObject.cs プロジェクト: NingMoe/gcchallenge
 public void AddExistingQuestionToSet(Dataset.QuestionsExRow qsr, int order, int setId)
 {
     connection.DataProvider.AddExistingQuestionToSet(qsr, order, setId);
     ApplicationController.Instance.Refresh(connection);
 }
コード例 #10
0
        private void QuestionEditor_Load(object sender, EventArgs e)
        {
            //dataSet = (Dataset)data.Copy();
            isInit           = true;
            dataSet          = (Dataset)dbObject.FullDataset.Copy();
            _questionRow     = ((Question)dbObject).Value;
            textTextBox.Text = _questionRow.Text;
            int setId = _questionRow.SetId;

            difficutlyLevelcomboBox.DataSource    = dataSet.DifficultyLevel;
            difficutlyLevelcomboBox.DisplayMember = "Name";
            difficutlyLevelcomboBox.SelectedIndex =
                dataSet.QuestionsEx.FindByIdSetId(_questionRow.Id, _questionRow.SetId).DifficultyLevelId - 1;
            difficutlyLevelcomboBox.Update();

            if (_questionRow.SubtypeId == 4)
            {
                subTypecomboBox.Enabled = false;
            }

            typeComboBox.DataSource    = dataSet.QuestionTypes;
            typeComboBox.DisplayMember = "Name";
            typeComboBox.ValueMember   = "id";
            typeComboBox.SelectedValue = dataSet.QuestionsEx.FindByIdSetId(_questionRow.Id, _questionRow.SetId).TypeId;
            typeComboBox.Update();

            subTypecomboBox.DataSource    = dataSet.QuestionSubtypes;
            subTypecomboBox.DisplayMember = "Name";
            subTypecomboBox.ValueMember   = "id";
            subTypecomboBox.SelectedValue = dataSet.QuestionsEx.FindByIdSetId(_questionRow.Id, _questionRow.SetId).SubtypeId;
            subTypecomboBox.Update();

            if (!_questionRow.IsPictureNull())
            {
                File.WriteAllBytes(Application.StartupPath + @"\templates\Picture.bmp", _questionRow.Picture);
                //pictureBox.Image = Image.FromFile(Application.StartupPath + @"\templates\Picture.bmp");
                pictureBox.ImageLocation = Application.StartupPath + @"\templates\Picture.bmp";
                addPicturebutton.Text    = "edit";
                picture = _questionRow.Picture;
            }

            if (!dataSet.QuestionSetsEx.FindById(setId).IsQuestionTypeIdNull())
            {
                typeComboBox.SelectedIndex = dataSet.QuestionsEx.FindByIdSetId(_questionRow.Id, _questionRow.SetId).TypeId - 1;
                typeComboBox.Update();
                typeComboBox.Enabled = false;
            }

            if (dbObject.Parent is PassageQuestion)
            {
                subTypecomboBox.Enabled = false;
            }
            if (!dataSet.QuestionSetsEx.FindById(setId).IsQuestionSubtypeIdNull())
            {
                subTypecomboBox.SelectedIndex = dataSet.QuestionsEx.FindByIdSetId(_questionRow.Id, _questionRow.SetId).SubtypeId - 1;
                subTypecomboBox.Update();
                subTypecomboBox.Enabled = false;
            }


            for (int i = 0; i < dataSet.Answers.Count; ++i)
            {
                if (dataSet.Answers[i].QuestionId != Id)
                {
                    dataSet.Answers[i].Delete();
                }
                else
                {
                    lastOrder++;
                }
            }

            if (textTextBox.Text.LastIndexOf("<math display = \"block\">") != -1)
            {
                textTextBox.Enabled   = false;
                addFormulaButton.Text = "edit question with formulas";
            }
            answersDataGridView.DataSource = dataSet;
            ListSortDirection direction;

            direction = ListSortDirection.Ascending;
            answersDataGridView.Sort(answersDataGridView.Columns[orderDataGridViewTextBoxColumn.Index], direction);
            isInit = false;
        }