Exemple #1
0
        public Test load(int testId, bool loadAllQuestions, bool loadOnlyTestNames)
        {
            Test test = new Test();

            test.Id   = testId;
            test.Name = EncryptWorker.getInstance().decrypt(
                DataSetConverter.fromDsToSingle.toString.
                convert(SqlLiteSimpleExecute.execute(queryConfigurator.loadTestName(testId))));
            if (!loadOnlyTestNames)
            {
                test.QuestionsNumber = DataSetConverter.fromDsToSingle.toInt.
                                       convert(SqlLiteSimpleExecute.
                                               execute(queryConfigurator.loadTestQuestionCount(testId)));

                test.RequeredUnswersNumber = DataSetConverter.fromDsToSingle.toInt.
                                             convert(SqlLiteSimpleExecute.execute(queryConfigurator.
                                                                                  loadTestRequiredQuestionCount(testId)));

                int[] questionsIds = DataSetConverter.fromDsToBuf.toIntBuf.convert(
                    SqlLiteSimpleExecute.execute(queryConfigurator.loadTestQuestionIds(testId)));
                if (loadAllQuestions)
                {
                    test.Questions = questionsGetter.get(questionsIds);
                }
                else
                {
                    test.Questions = questionsGetter.get(questionsIds,
                                                         test.QuestionsNumber);
                }
            }

            return(test);
        }
        public Question load(int id)
        {
            Question question = new Question();

            question.Id = id;
            question.QuestionsContent = EncryptWorker.getInstance().decrypt(
                DataSetConverter.fromDsToSingle.toString.convert(
                    SqlLiteSimpleExecute.execute(queryConfigurator.loadQuestionContent(id))));
            int[] unswersIds = DataSetConverter.fromDsToBuf.toIntBuf.convert(
                SqlLiteSimpleExecute.execute(queryConfigurator.loadQuestionUnswersIds(id)));

            question.Unswers = new List <Unswer>();
            for (int i = 0; i < unswersIds.Count(); i++)
            {
                question.Unswers.Add(unswerManipalator.load(unswersIds[i]));
            }

            int questionTypeId = DataSetConverter.fromDsToSingle.toInt.convert(
                SqlLiteSimpleExecute.execute(queryConfigurator.loadQuestionTypeId(id)));
            string questionType = DataSetConverter.fromDsToSingle.toString.convert(
                SqlLiteSimpleExecute.execute(queryConfigurator.getObjectName(questionTypeId)));

            if (questionType.Equals(QuestionTypes.multiplyAnswer.getType()))
            {
                question.QuestionsType = QuestionTypes.multiplyAnswer;
                return(question);
            }
            if (questionType.Equals(QuestionTypes.singleAnswer.getType()))
            {
                question.QuestionsType = QuestionTypes.singleAnswer;
                return(question);
            }

            throw new ParamsTypesExceptions();
        }
Exemple #3
0
 public void create(Unswer unswer, int questionId)
 {
     if (unswer.IsRight)
     {
         SqlLiteSimpleExecute.execute(queryConfigurator.createUnswer(questionId));
         unswer.Id = DataSetConverter.fromDsToSingle.toInt.convert(SqlLiteSimpleExecute.
                                                                   execute(queryConfigurator.getObjectIdInDevelopStatus(DbTypes.unswer)));
         SqlLiteSimpleExecute.execute(queryConfigurator.setUnswerContent(unswer.Id,
                                                                         EncryptWorker.getInstance().encrypt(unswer.Content)));
         SqlLiteSimpleExecute.execute(queryConfigurator.setUnswerType(unswer.Id,
                                                                      UnswerTypes.rightUnswer));
     }
     else
     {
         SqlLiteSimpleExecute.execute(queryConfigurator.createUnswer(questionId));
         unswer.Id = DataSetConverter.fromDsToSingle.toInt.convert(SqlLiteSimpleExecute.
                                                                   execute(queryConfigurator.getObjectIdInDevelopStatus(DbTypes.unswer)));
         SqlLiteSimpleExecute.execute(queryConfigurator.setUnswerContent(unswer.Id,
                                                                         EncryptWorker.getInstance().encrypt(unswer.Content)));
         SqlLiteSimpleExecute.execute(queryConfigurator.setUnswerType(unswer.Id,
                                                                      UnswerTypes.unswer));
     }
     SqlLiteSimpleExecute.execute(queryConfigurator.setApproveStatusToObject(
                                      DbTypes.unswer));
 }
        public void create(Subject subject)
        {
            SqlLiteSimpleExecute.execute(queryConfigurator.createSubject(
                                             EncryptWorker.getInstance().encrypt(subject.Name)));
            for (int i = 0; i < subject.Tests.Count; i++)
            {
                testManipulator.create(subject.Tests.ElementAt(i), subject.Id);
            }

            SqlLiteSimpleExecute.execute(queryConfigurator.setApproveStatusToObject(
                                             DbTypes.subject));
        }
        public void update(Subject subject)
        {
            SqlLiteSimpleExecute.execute(queryConfigurator.updateSubjectName(
                                             subject.Id, EncryptWorker.getInstance().encrypt(subject.Name)));

            for (int i = 0; i < subject.Tests.Count; i++)
            {
                try
                {
                    testManipulator.update(subject.Tests.ElementAt(i), subject.Id);
                }
                catch (ObjectIsNotExistYet ex)
                {
                    testManipulator.create(subject.Tests.ElementAt(i), subject.Id);
                }
            }
        }
        public void create(Question question, int testId)
        {
            SqlLiteSimpleExecute.execute(queryConfigurator.createQuestion(testId));
            question.Id = DataSetConverter.fromDsToSingle.toInt.convert(SqlLiteSimpleExecute.
                                                                        execute(queryConfigurator.getObjectIdInDevelopStatus(DbTypes.question)));
            SqlLiteSimpleExecute.execute(queryConfigurator.setQuestionContent(question.Id,
                                                                              EncryptWorker.getInstance().encrypt(question.QuestionsContent)));
            SqlLiteSimpleExecute.execute(queryConfigurator.setQuestionType(question.Id,
                                                                           question.QuestionsType));


            for (int i = 0; i < question.Unswers.Count; i++)
            {
                unswerManipalator.create(question.Unswers.ElementAt(i), question.Id);
            }
            SqlLiteSimpleExecute.execute(queryConfigurator.setApproveStatusToObject(
                                             DbTypes.question));
        }
        public Subject load(string name, bool loadOnlySubjectAndTestNamesWithoutChilds,
                            bool loadAllQuestions)
        {
            Subject sub = new Subject();

            sub.Id = DataSetConverter.fromDsToSingle.toInt.convert(SqlLiteSimpleExecute.
                                                                   execute(queryConfigurator.getSubjectId(name)));
            sub.Name = EncryptWorker.getInstance().decrypt(name);
            int[] testIds = DataSetConverter.fromDsToBuf.toIntBuf.convert(SqlLiteSimpleExecute.
                                                                          execute(queryConfigurator.loadSubjectTestIds(sub.Id)));
            for (int i = 0; i < testIds.Length; i++)
            {
                sub.Tests.Add(testManipulator.load(testIds[i], loadAllQuestions,
                                                   loadOnlySubjectAndTestNamesWithoutChilds));
            }

            return(sub);
        }
Exemple #8
0
        public void create(Test test, int subjectId)
        {
            SqlLiteSimpleExecute.execute(queryConfigurator.createTest(
                                             EncryptWorker.getInstance().encrypt(test.Name), subjectId));

            int id = DataSetConverter.fromDsToSingle.toInt.convert(SqlLiteSimpleExecute.
                                                                   execute(queryConfigurator.getObjectIdInDevelopStatus(DbTypes.test)));

            SqlLiteSimpleExecute.execute(queryConfigurator.
                                         setTestsQuestionsNumber(id, test.QuestionsNumber));

            SqlLiteSimpleExecute.execute(queryConfigurator.
                                         setTestsRequeredUnswersNumber(id, test.RequeredUnswersNumber));

            for (int i = 0; i < test.Questions.Count; i++)
            {
                questionManipulator.create(test.Questions.ElementAt(i), id);
            }
            SqlLiteSimpleExecute.execute(queryConfigurator.setApproveStatusToObject(
                                             DbTypes.test));
        }
Exemple #9
0
        public void update(Test test, int subjectId)
        {
            if (DataSetConverter.fromDsToSingle.toInt.convert(
                    SqlLiteSimpleExecute.execute(queryConfigurator.countOfObject(test.Id))) == 0)
            {
                throw new ObjectIsNotExistYet();
            }

            SqlLiteSimpleExecute.execute(queryConfigurator.updateTestsSubject(
                                             test.Id, subjectId));

            SqlLiteSimpleExecute.execute(queryConfigurator.updateTestName(
                                             test.Id, EncryptWorker.getInstance().encrypt(test.Name)));
            int id = test.Id;

            SqlLiteSimpleExecute.execute(queryConfigurator.
                                         updateTestsQuestionsNumber(id, test.QuestionsNumber));

            SqlLiteSimpleExecute.execute(queryConfigurator.
                                         updateTestsRequeredUnswersNumber(id, test.RequeredUnswersNumber));

            for (int i = 0; i < test.Questions.Count; i++)
            {
                try
                {
                    if (test.Questions.ElementAt(i).IsDeleted)
                    {
                        test.Questions.ElementAt(i).delete();
                    }
                    else
                    {
                        questionManipulator.update(test.Questions.ElementAt(i));
                    }
                }
                catch (ObjectIsNotExistYet ex)
                {
                    questionManipulator.create(test.Questions.ElementAt(i), test.Id);
                }
            }
        }
Exemple #10
0
 public void update(Unswer unswer)
 {
     if (DataSetConverter.fromDsToSingle.toInt.convert(
             SqlLiteSimpleExecute.execute(queryConfigurator.countOfObject(unswer.Id))) == 0)
     {
         throw new ObjectIsNotExistYet();
     }
     if (unswer.IsRight)
     {
         SqlLiteSimpleExecute.execute(queryConfigurator.updateUnswerContent(
                                          unswer.Id, EncryptWorker.getInstance().encrypt(unswer.Content)));
         SqlLiteSimpleExecute.execute(queryConfigurator.updateUnswerType(
                                          unswer.Id, DbObjects.rightUnswer));
     }
     else
     {
         SqlLiteSimpleExecute.execute(queryConfigurator.updateUnswerContent(
                                          unswer.Id, EncryptWorker.getInstance().encrypt(unswer.Content)));
         SqlLiteSimpleExecute.execute(queryConfigurator.updateUnswerType(
                                          unswer.Id, DbObjects.unswer));
     }
 }
Exemple #11
0
        public Unswer load(int id)
        {
            Unswer unswer = new Unswer();

            unswer.Id = id;
            string lastQuery = "";

            try
            {
                lastQuery      = queryConfigurator.loadUnswerContent(id);
                unswer.Content = EncryptWorker.getInstance().decrypt(
                    DataSetConverter.fromDsToSingle.toString.convert(SqlLiteSimpleExecute.
                                                                     execute(queryConfigurator.loadUnswerContent(id))));
                lastQuery = queryConfigurator.loadUnswerTypeId(id);
                int typeId = DataSetConverter.fromDsToSingle.toInt.convert(SqlLiteSimpleExecute.
                                                                           execute(queryConfigurator.loadUnswerTypeId(id)));
                lastQuery = queryConfigurator.getObjectName(typeId);
                string type = DataSetConverter.fromDsToSingle.toString.convert(SqlLiteSimpleExecute.
                                                                               execute(queryConfigurator.getObjectName(typeId)));
                if (type.Equals(DbObjects.rightUnswer.getName()))
                {
                    unswer.IsRight = true;
                    return(unswer);
                }
                if (type.Equals(DbObjects.unswer.getName()))
                {
                    unswer.IsRight = false;
                    return(unswer);
                }
            }
            catch (СonversionError err)
            {
                throw new СonversionError("Ошибка при обработке запроса:" + lastQuery +
                                          ". Обратитесь к администратору");
            }
            throw new ParamsTypesExceptions();
        }
Exemple #12
0
        public void init()
        {
            //
            //Exceptions init
            //
            ConcreteExceptionHandlerInitializer.initThisExceptionHandler(
                ExceptionHandler.Realization.ExceptionHandler.getInstance());
            try
            {
                //
                //Config tabs
                //
                form.tabControl1Elem.Appearance = TabAppearance.FlatButtons;
                form.tabControl1Elem.ItemSize   = new Size(0, 1);
                form.tabControl1Elem.SizeMode   = TabSizeMode.Fixed;
                form.tabControl1Elem.TabStop    = false;
                //
                //Config tables
                //
                form.dataGridView1Elem.RowHeadersVisible = false;
                form.dataGridView2Elem.RowHeadersVisible = false;
                //
                //Config other views components
                //
                form.textBox11Elem.ReadOnly = true;
                //
                //Security component
                //
                SecurityModel securityModel = new SecurityModel();
                components.securityController = new SecurityController(securityModel);
                AutorizationSecurityView securityView =
                    new AutorizationSecurityView(form, securityModel);

                EncryptConfig conf = new EncryptConfig(new byte[] { 0x7c, 0x26, 0xf0, 0xc6, 0x77,
                                                                    0xaa, 0xba, 0x6a, 0x66, 0x7b, 0x56, 0x0f, 0x98, 0x43, 0xba, 0x2d, 0xbb, 0x06, 0x0a, 0xef,
                                                                    0xad, 0x32, 0x88, 0xb0, 0x5d, 0xfb, 0xfe, 0x98, 0xa7, 0xa7, 0xa5, 0x1a });
                EncryptWorker.getInstance().setConfig(conf);

                //
                //goTest component
                //
                GoTestModel goTestModel = new GoTestModel();
                components.goTestController           = new GoTestController(goTestModel);
                components.questionsViewAdapter       = new GoTestAdapter();
                components.updateSubjectViewAdapter   = new GoTestAdapter();
                components.сreateSubjectViewAdapter   = new GoTestAdapter();
                components.testingViewAdapter         = new GoTestAdapter();
                components.deletingSubjectViewAdapter = new GoTestAdapter();
                components.deletingTestViewAdapter    = new GoTestAdapter();
                //
                //Navigator
                //
                Navigator.Navigator.getInstance().addView(securityView);
                Navigator.Navigator.getInstance().addView(new CreateAdminView(form));
                Navigator.Navigator.getInstance().addView(new AdminMenuView(form));
                Navigator.Navigator.getInstance().addView(new StudentMenuView(form));
                Navigator.Navigator.getInstance().addView(new ChangePasswordView(form));
                Navigator.Navigator.getInstance().addView(new DeleteSubjectView(form,
                                                                                components.deletingSubjectViewAdapter, goTestModel));
                Navigator.Navigator.getInstance().addView(new DeleteTestView(form,
                                                                             components.deletingTestViewAdapter, goTestModel));
                Navigator.Navigator.getInstance().addView(new UpdateTestView(form,
                                                                             components.questionsViewAdapter, goTestModel));
                Navigator.Navigator.getInstance().addView(new UpdateSubjectView(form,
                                                                                components.updateSubjectViewAdapter, goTestModel));
                Navigator.Navigator.getInstance().addView(new TestingView(form,
                                                                          components.testingViewAdapter, goTestModel));
                Navigator.Navigator.getInstance().addView(new ProcessingTestingView(form,
                                                                                    components.testingViewAdapter, goTestModel));
                Navigator.Navigator.getInstance().addView(new ResultTestingView(form,
                                                                                goTestModel));
                Navigator.Navigator.getInstance().addView(new CreateSubjectView(form,
                                                                                components.сreateSubjectViewAdapter));
                CreateTestView createTestView = new CreateTestView(form,
                                                                   components.questionsViewAdapter, goTestModel);
                goTestModel.subscribe(createTestView);
                Navigator.Navigator.getInstance().addView(createTestView);

                Navigator.Navigator.getInstance().addView(new QuestionsView(form,
                                                                            components.questionsViewAdapter, goTestModel));
                Navigator.Navigator.getInstance().navigateTo("AutorizationSecurityView");
                //
                //ReadConfig
                //
                ConfigReader.getInstance().read();
                //
                //Check database
                //
                components.securityController.checkDataBase();
                form.button1Elem.Visible = true;
                form.button8Elem.Visible = true;

                /*
                 * //
                 * //ТОЛЬКО ДЛЯ ОТЛАДКИ, ПОТОМ УБРАТЬ
                 * //
                 * form.textBox1Elem.Text = "Admin";
                 * form.textBox2Elem.Text = "1234";
                 */
            }
            catch (Exception ex)
            {
                form.button1Elem.Visible = false;
                form.button8Elem.Visible = false;
                ExceptionHandler.Realization.ExceptionHandler.getInstance().processing(ex);
            }
        }
        public void update(Question question)
        {
            if (DataSetConverter.fromDsToSingle.toInt.convert(
                    SqlLiteSimpleExecute.execute(queryConfigurator.countOfObject(question.Id))) == 0)
            {
                throw new ObjectIsNotExistYet();
            }
            SqlLiteSimpleExecute.execute(queryConfigurator.updateQuestionContent(question.Id,
                                                                                 EncryptWorker.getInstance().encrypt(question.QuestionsContent)));


            int rightUnswersCount = 0;

            for (int i = 0; i < question.Unswers.Count; i++)
            {
                if (question.Unswers.ElementAt(i).IsRight)
                {
                    rightUnswersCount++;
                }
            }
            if ((question.QuestionsType.getType().Equals(QuestionTypes.singleAnswer)) &
                (rightUnswersCount == 0 | rightUnswersCount > 1))
            {
                throw new QuestionTypeException();
            }
            if (question.QuestionsType.getType().Equals(QuestionTypes.multiplyAnswer) &
                rightUnswersCount < 2)
            {
                throw new QuestionTypeException();
            }

            if (question.QuestionsType.getType().Equals(DbObjects.multiplyAnswer.getName()))
            {
                SqlLiteSimpleExecute.execute(queryConfigurator.updateQuestionType(question.Id,
                                                                                  DbObjects.multiplyAnswer));
            }
            else
            {
                SqlLiteSimpleExecute.execute(queryConfigurator.updateQuestionType(question.Id,
                                                                                  DbObjects.singleAnswer));
            }

            for (int i = 0; i < question.Unswers.Count; i++)
            {
                try
                {
                    if (question.Unswers.ElementAt(i).IsDeleted)
                    {
                        question.Unswers.ElementAt(i).delete();
                    }
                    else
                    {
                        unswerManipalator.update(question.Unswers.ElementAt(i));
                    }
                }
                catch (ObjectIsNotExistYet ex)
                {
                    unswerManipalator.create(question.Unswers.ElementAt(i), question.Id);
                }
            }
        }