Ejemplo n.º 1
0
 private DataTable GetPictureOnCurrQuestion()
 {
     try
     {
         var isConnect = DbImageLoader.ConnectToDb(DbConnection);
         var dataTable = new DataTable();
         if (isConnect)
         {
             var query = "select distinct Pictures.picture " +
                         " from main.Pictures, " +
                         " main.Questions, " +
                         " main.Interview " +
                         " where Pictures.id = Questions.picture_id " +
                         " and Interview.question_id = Questions.id " +
                         " and Questions.name = '" + InterView.GetCurrentQuestionAndAnswer().Key.Name + "'" +
                         " and Interview.theme_id = '" + _interviewThemeId + "'";
             var imgByte = DbImageLoader.GetBytePictureFromDb(query);
             if (imgByte != null)
             {
                 var img = DbImageLoader.GetImageFromImgBytes(imgByte, Options.PictureSize);
                 dataTable.Columns.Add(new DataColumn {
                     DataType = typeof(Bitmap)
                 });
                 var newRow = dataTable.NewRow();
                 newRow[0] = img;
                 dataTable.Rows.Add(newRow);
             }
         }
         return(dataTable);
     }
     catch (Exception exp)
     {
         throw new Exception("GetPictureOnCurrQuestion " + exp);
     }
 }
Ejemplo n.º 2
0
        private void BaseOptionsInit()
        {
            _respondentId     = CheckOrInsertRespondentAndGetId();
            _interviewThemeId = GetInterviewThemeId(InterView.GetInterviewTheme());
            var maxInterviewNum = GetMaxInterviewNum();

            _nextInterviewNum = maxInterviewNum == 0 ? 1 : maxInterviewNum;
        }
Ejemplo n.º 3
0
        public void SetBirthDate(DateTime time)
        {
            var month = (time.Month.ToString().Length == 1) ? "0" + time.Month : time.Month.ToString();
            var day   = (time.Day.ToString().Length == 1) ? "0" + time.Day : time.Day.ToString();
            var date  = string.Format("{0}-{1}-{2}", time.Year, month, day);

            InterView.SetBirthDate(date);
        }
Ejemplo n.º 4
0
 private DataTable CheckForInterviewCompleteness()
 {
     try
     {
         var query = "select AnswerResults.id " +
                     " from main.AnswerResults, " +
                     " main.Interview " +
                     " where Interview.theme_id = '" + _interviewThemeId + "'" +
                     " and AnswerResults.respondent_id = '" + _respondentId + "' " +
                     " and Interview.id = AnswerResults.interview_id ";
         var check = DbConnection.SelectFromDb(query);
         if (check.Rows.Count == 0)
         {
             check.Columns.Add(new DataColumn()
             {
                 DataType = typeof(int)
             });
             var newRow = check.NewRow();
             newRow[0] = 0;
             check.Rows.Add(newRow);
             return(check);
         }
         query = " select " +
                 "( " +
                 " select count(distinct Interview.question_id) " +
                 " from main.Interview " +
                 " where Interview.theme_id = '" + _interviewThemeId + "'" +
                 ") = " +
                 "( " +
                 " select count(AnswerResults.interview_id) " +
                 " from main.AnswerResults, " +
                 " main.Interview " +
                 " where AnswerResults.interview_id = Interview.id " +
                 " and Interview.theme_id = '" + _interviewThemeId + "'" +
                 " and AnswerResults.respondent_id = '" + _respondentId + "' " +
                 " and AnswerResults.Interview_number = '" + _nextInterviewNum + "'" +
                 " )";
         var identityRow = DbConnection.SelectFromDb(query);
         var identity    = Convert.ToInt32(identityRow.Rows[0][0]);
         if (identity == 0)
         {
             identityRow.Rows[0][0] = 1;
         }
         else
         {
             identityRow.Rows[0][0] = 0;
             if (InterView.GetHaveHistory())
             {
                 _nextInterviewNum++;
             }
         }
         return(identityRow);
     }
     catch (Exception exp)
     {
         throw new Exception("GetLastQuestionId " + exp);
     }
 }
Ejemplo n.º 5
0
 public bool SetRespondentName(string respondentName)
 {
     if (CheckForValidRespondentName(respondentName))
     {
         InterView.SetRespondentName(respondentName);
         return(true);
     }
     MessageBox.Show("Некорректное Ф.И.О.!");
     return(false);
 }
Ejemplo n.º 6
0
 public void QuestionsAndAnswersInit(Control baseControl)
 {
     _baseControl = baseControl;
     if (Options.HavePictures)
     {
         _baseControl.Paint += new PaintEventHandler(_baseControl_Paint);
         _graphics           = _baseControl.CreateGraphics();
     }
     InterView.InterviewInit();
 }
Ejemplo n.º 7
0
 public bool SetInterviewThemeName(string themeName)
 {
     if (themeName != null)
     {
         InterView.SetInterviewTheme(themeName);
         return(true);
     }
     MessageBox.Show("Выберите тему!");
     return(false);
 }
Ejemplo n.º 8
0
        private DataTable GetQuestionsAnswersOrResults(GetDataType getDataType)
        {
            var selectionField = string.Empty;
            // SELECT BLOCK
            var query = "Select distinct ";

            switch (getDataType)
            {
            case GetDataType.Answers:
                selectionField = "main.Answers.Name";
                break;

            case GetDataType.Questions:
                selectionField = "main.Questions.Name";
                break;

            case GetDataType.QuestionsAnswersScores:
                selectionField = "main.Questions.Name, main.Answers.Name, main.Interview.Score";
                break;

            case GetDataType.Theme:
                selectionField = "main.Themes.Name";
                break;
            }
            if (selectionField != string.Empty)
            {
                // FROM BLOCK
                query += selectionField + " from main.Interview, " +
                         "main.Questions, " +
                         "main.Answers, " +
                         "main.Themes ";
                // WHERE BLOCK
                query += "where main.Interview.QUESTION_ID = main.Questions.ID " +
                         "and main.Interview.ANSWER_ID = main.Answers.ID " +
                         "and main.Interview.theme_id = main.Themes.ID";

                if (getDataType != GetDataType.Theme)
                {
                    query += " and main.Themes.Name = " + "'" + InterView.GetInterviewTheme() + "'";
                }
                query += " order by main.Questions.ID, main.Answers.ID ";
                try
                {
                    var result = DbConnection.SelectFromDb(query);
                    return(result);
                }
                catch (Exception exp)
                {
                    throw new Exception(exp.ToString());
                }
            }
            return(null);
        }
Ejemplo n.º 9
0
 public void MakeAnswers(object question, QuestionMove questionMove)
 {
     try
     {
         var list = InterView.GetAnswersOnQuestion(question);
         SetAnswerSettings(list, questionMove);
     }
     catch (Exception exp)
     {
         throw new Exception(exp.ToString());
     }
 }
Ejemplo n.º 10
0
        public object GetQuestion(QuestionMove questionMove)
        {
            DeleteCurrentQuestionAndSetDefaults();
            var question = InterView.GetQuestion(questionMove);

            if (Options.HavePictures)
            {
                _img = InterView.GetImageOnCurrQuestion();
                _baseControl.Invalidate();
            }
            return(question);
        }
Ejemplo n.º 11
0
        public bool SetAnswer()
        {
            var text = ChooseAnswerForQuestion();

            if ((!Options.CanMoveWithoutAnswer) & (text == null))
            {
                MessageBox.Show("Выберите ответ!");
                return(false);
            }
            InterView.SetAnswer(text);
            return(true);
        }
Ejemplo n.º 12
0
        private void SetFactorsNameAndScore()
        {
            if (InterView.GetInterviewCompleteness())
            {
                _maxInterviewNum  = GetMaxInterviewNum();
                _factorDependence = CheckForFactorDependence();
                var factorIdCollection = !_factorDependence
                    ? GetFactorsIdWithoutFactorDependence()
                    : GetFactorsIdWithFactorDependence();

                SetFactorScore(factorIdCollection);
            }
        }
Ejemplo n.º 13
0
        private int GetCurrThemeId()
        {
            var query = " select Themes.id " +
                        " from main.Themes " +
                        " where Themes.name = '" + InterView.GetInterviewTheme() + "'";

            try
            {
                var themeId = DbConnection.SelectScalarFromDb(query);
                return(Convert.ToInt32(themeId));
            }
            catch (Exception exp)
            {
                throw new Exception(exp.ToString());
            }
        }
Ejemplo n.º 14
0
        private void UpdateAnswerResult(Question currQuestion, object interviewId)
        {
            var query = "select max(AnswerResults.id) " +
                        " from main.AnswerResults, " +
                        " main.Interview," +
                        " main.Questions " +
                        " where Interview.theme_id = '" + _interviewThemeId + "'" +
                        " and AnswerResults.respondent_id = '" + _respondentId + "' " +
                        " and Interview.id = AnswerResults.interview_id " +
                        " and Interview.question_id = Questions.id " +
                        " and Questions.Name = '" + currQuestion.Name + "'";

            try
            {
                var answerResultRow = DbConnection.SelectFromDb(query);
                if (answerResultRow.Rows[0][0].ToString() != "")
                {
                    var answerResultId = answerResultRow.Rows[0][0];
                    if (InterView.GetHaveHistory())
                    {
                        query = " update main.AnswerResults" +
                                " set Interview_id = '" + interviewId + "'" +
                                ", answer_date = current_date " +
                                " where id = '" + answerResultId + "'";
                    }
                    else
                    {
                        var nextInterviewNum = InterView.GetInterviewCompleteness() ? _nextInterviewNum : _nextInterviewNum + 1;
                        query = " update main.AnswerResults" +
                                " set Interview_id = '" + interviewId + "'" +
                                ", interview_number = '" + nextInterviewNum + "'" +
                                ", answer_date = current_date " +
                                " where id = '" + answerResultId + "'";
                    }
                    DbConnection.DmlOperation(query);
                }
                else
                {
                    AddAnswerResult(interviewId);
                }
            }
            catch (Exception exp)
            {
                throw new Exception("UpdateAnswerResult" + exp);
            }
        }
Ejemplo n.º 15
0
        private int CheckOrInsertRespondentAndGetId()
        {
            var respondentIdRow = CheckRespondentAndGetId(InterView.GetRespondentName(), InterView.GetBirthDate());

            if (respondentIdRow.Rows.Count == 0)
            {
                var respondentId = GetNewTableIndexId("main.Respondents");
                if (respondentId != 0)
                {
                    var query = "insert into main.Respondents(id, FIO, birthday) values( '" + respondentId +
                                "', '" + InterView.GetRespondentName() + "', '" + InterView.GetBirthDate() + "')";
                    DbConnection.DmlOperation(query);
                    return(respondentId);
                }
            }
            return(Convert.ToInt16(respondentIdRow.Rows[0][0]));
        }
Ejemplo n.º 16
0
        private int GetCurrRespondentId()
        {
            var query = " select Respondents.id " +
                        " from main.Respondents " +
                        " where Respondents.FIO = '" + InterView.GetRespondentName() + "'" +
                        "and Respondents.birthday = '" + InterView.GetBirthDate() + "'";

            try
            {
                var respondentId = DbConnection.SelectScalarFromDb(query);
                return(Convert.ToInt32(respondentId));
            }
            catch (Exception exp)
            {
                throw new Exception(exp.ToString());
            }
        }
Ejemplo n.º 17
0
        private void SetAnswerSettings(IEnumerable answerList, QuestionMove questionMove)
        {
            //admintools
            var spaceBetweenQuestionAndAnswers = Options.SpaceBetweenQuestionAndAnswers;
            var spaceBetweenAnswers            = Options.SpaceBetweenAnswers;
            var spaceBetweenQuestionAndPicture = Options.PictureLocation;

            //only vertical dependence
            spaceBetweenQuestionAndPicture.X = 0;
            Point pictureSize;

            if (!Options.HavePictures)
            {
                spaceBetweenQuestionAndPicture = new Point(0, 0);
            }
            if (_img != null)
            {
                pictureSize = new Point(_img.Width, _img.Height);
            }
            else
            {
                pictureSize = new Point(0, 0);
            }
            //
            foreach (var element in answerList)
            {
                var radionButton = new RadioButton()
                {
                    Location = new Point(_questionCoords.X + spaceBetweenQuestionAndPicture.X + spaceBetweenQuestionAndAnswers.X,
                                         _questionCoords.Y + spaceBetweenQuestionAndPicture.Y + pictureSize.Y +
                                         spaceBetweenQuestionAndAnswers.Y),
                    Text   = element.ToString(),
                    Size   = new Size(200, 25),
                    Font   = new Font(FontFamily.GenericSansSerif, 10, FontStyle.Bold),
                    Anchor = AnchorStyles.Bottom
                };
                if (element == InterView.GetAnswerFromResultScoreList())
                {
                    radionButton.Checked = true;
                }
                spaceBetweenQuestionAndAnswers.X += spaceBetweenAnswers.X;
                spaceBetweenQuestionAndAnswers.Y += spaceBetweenAnswers.Y;
                _baseControl.Controls.Add(radionButton);
            }
        }
Ejemplo n.º 18
0
 private DataTable TryGetScoreOfQuestion(DataTable table, string questionRowName)
 {
     if (table.Columns.Contains(questionRowName))
     {
         var modifiedQuestionDataTable = table;
         for (int i = 0; i < table.Rows.Count; i++)
         {
             var questionName = table.Rows[i][questionRowName];
             if (questionName.ToString() != "")
             {
                 modifiedQuestionDataTable.Rows[i][questionRowName] =
                     InterView.GetScoreByQuestionName(questionName.ToString());
             }
         }
         return(modifiedQuestionDataTable);
     }
     throw new Exception("TryGetScoreOfQuestion: Can't find need row!");
 }
Ejemplo n.º 19
0
        private void InsertAnswerResult(SetDataType dataType)
        {
            var currQuestion   = InterView.GetCurrentQuestionAndAnswer().Key;
            var interviewIdRow = GetInteviewId(currQuestion, InterView.GetScoreByQuestionName(currQuestion.Name));

            if (interviewIdRow.Rows.Count > 0)
            {
                var interviewId = interviewIdRow.Rows[0][0];
                if (dataType == SetDataType.AnswerResultInsert)
                {
                    AddAnswerResult(interviewId);
                }
                else
                {
                    UpdateAnswerResult(currQuestion, interviewId);
                }
            }
        }
Ejemplo n.º 20
0
        private DataTable GetInteviewId(Question question, int score)
        {
            var query = "select distinct main.Interview.id " +
                        " from main.Interview, main.Themes, main.Questions ";

            query += " where main.Questions.Name = '" + question.Name + "'" +
                     " and main.Interview.score = '" + score + "'" +
                     " and main.Themes.Name = '" + InterView.GetInterviewTheme() + "'" +
                     " and main.Interview.theme_id = main.Themes.Id " +
                     " and main.Interview.Question_id = main.Questions.id ";

            try
            {
                var result = DbConnection.SelectFromDb(query);
                return(result);
            }
            catch (Exception exp)
            {
                throw new Exception(exp.ToString());
            }
        }
Ejemplo n.º 21
0
 public bool GetInterviewCompleteness()
 {
     return(InterView.GetInterviewCompleteness());
 }
Ejemplo n.º 22
0
 public QuestionMaker()
 {
     InterView.Start();
 }
Ejemplo n.º 23
0
 public void QuestionPositionInit()
 {
     InterView.QuestionPositionInit();
 }
Ejemplo n.º 24
0
 public void SetInterviewCompleteness()
 {
     InterView.SetInterviewCompleteness();
 }
Ejemplo n.º 25
0
 public DataTable GetThemeNames()
 {
     return(InterView.GetInterviewThemes());
 }