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); } }
private void BaseOptionsInit() { _respondentId = CheckOrInsertRespondentAndGetId(); _interviewThemeId = GetInterviewThemeId(InterView.GetInterviewTheme()); var maxInterviewNum = GetMaxInterviewNum(); _nextInterviewNum = maxInterviewNum == 0 ? 1 : maxInterviewNum; }
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); }
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); } }
public bool SetRespondentName(string respondentName) { if (CheckForValidRespondentName(respondentName)) { InterView.SetRespondentName(respondentName); return(true); } MessageBox.Show("Некорректное Ф.И.О.!"); return(false); }
public void QuestionsAndAnswersInit(Control baseControl) { _baseControl = baseControl; if (Options.HavePictures) { _baseControl.Paint += new PaintEventHandler(_baseControl_Paint); _graphics = _baseControl.CreateGraphics(); } InterView.InterviewInit(); }
public bool SetInterviewThemeName(string themeName) { if (themeName != null) { InterView.SetInterviewTheme(themeName); return(true); } MessageBox.Show("Выберите тему!"); return(false); }
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); }
public void MakeAnswers(object question, QuestionMove questionMove) { try { var list = InterView.GetAnswersOnQuestion(question); SetAnswerSettings(list, questionMove); } catch (Exception exp) { throw new Exception(exp.ToString()); } }
public object GetQuestion(QuestionMove questionMove) { DeleteCurrentQuestionAndSetDefaults(); var question = InterView.GetQuestion(questionMove); if (Options.HavePictures) { _img = InterView.GetImageOnCurrQuestion(); _baseControl.Invalidate(); } return(question); }
public bool SetAnswer() { var text = ChooseAnswerForQuestion(); if ((!Options.CanMoveWithoutAnswer) & (text == null)) { MessageBox.Show("Выберите ответ!"); return(false); } InterView.SetAnswer(text); return(true); }
private void SetFactorsNameAndScore() { if (InterView.GetInterviewCompleteness()) { _maxInterviewNum = GetMaxInterviewNum(); _factorDependence = CheckForFactorDependence(); var factorIdCollection = !_factorDependence ? GetFactorsIdWithoutFactorDependence() : GetFactorsIdWithFactorDependence(); SetFactorScore(factorIdCollection); } }
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()); } }
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); } }
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])); }
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()); } }
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); } }
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!"); }
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); } } }
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()); } }
public bool GetInterviewCompleteness() { return(InterView.GetInterviewCompleteness()); }
public QuestionMaker() { InterView.Start(); }
public void QuestionPositionInit() { InterView.QuestionPositionInit(); }
public void SetInterviewCompleteness() { InterView.SetInterviewCompleteness(); }
public DataTable GetThemeNames() { return(InterView.GetInterviewThemes()); }