示例#1
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);
                }
            }
        }
示例#2
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));
     }
 }
示例#3
0
        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);
                }
            }
        }