private void ChangeStateAnswersSection(int oldSectionNumber, int newSectionNumber) { if (VoterAnswersState != null) { VoterAnswersData.VotersAnswersRow[] answerState = (VoterAnswersData.VotersAnswersRow[])VoterAnswersState.Select("QuestionId = " + QuestionId + " AND SectionNumber=" + oldSectionNumber); for (int i = 0; i < answerState.Length; i++) { answerState[i].SectionNumber = newSectionNumber; } } }
private void DeleteStateAnswersForSection(int sectionNumber) { if (VoterAnswersState != null) { VoterAnswersData.VotersAnswersRow[] answerState = (VoterAnswersData.VotersAnswersRow[])VoterAnswersState.Select("QuestionId = " + QuestionId + " AND SectionNumber=" + sectionNumber); for (int i = 0; i < answerState.Length; i++) { VoterAnswersState.RemoveVotersAnswersRow(answerState[i]); } } }
/// <summary> /// Parse the answer state and returns the /// answers of this question /// </summary> /// <returns></returns> protected virtual GridAnswerDataCollection GetGridVoterAnswers() { GridAnswerDataCollection gridAnswers = null; if (VoterAnswersState != null) { VoterAnswersData.VotersAnswersRow[] answerState = (VoterAnswersData.VotersAnswersRow[])VoterAnswersState.Select("QuestionId = " + QuestionId); if (answerState != null && answerState.Length > 0) { gridAnswers = new GridAnswerDataCollection(); for (int i = 0; i < answerState.Length; i++) { gridAnswers.Add(new GridAnswerData(answerState[i].QuestionId, answerState[i].AnswerId, answerState[i].SectionNumber, answerState[i].AnswerText, (AnswerTypeMode)answerState[i].TypeMode)); } } } return(gridAnswers); }
/// <summary> /// A new section has been requested for edit /// Show a "new section" area with the section's answers /// </summary> protected virtual void AnswersGrid_EditSection(object sender, SectionAnswersItemEventArgs e) { _sectionTable.Controls.Clear(); if (e.SectionAnswers != null) { PostedAnswerDataCollection postedAnswers = new PostedAnswerDataCollection(); foreach (GridAnswerData answer in e.SectionAnswers) { if (VoterAnswersState == null) { VoterAnswersData voterAnswersData = new VoterAnswersData(); voterAnswersData.EnforceConstraints = false; VoterAnswersState = voterAnswersData.VotersAnswers; } VoterAnswersData.VotersAnswersRow voterAnswer = VoterAnswersState.NewVotersAnswersRow(); voterAnswer.AnswerId = answer.AnswerId; voterAnswer.QuestionId = QuestionId; voterAnswer.SectionNumber = -1; voterAnswer.AnswerText = answer.FieldText; voterAnswer.VoterId = -1; VoterAnswersState.AddVotersAnswersRow(voterAnswer); } } // Dont use any default answers as we have // setup an existing answer set EnableAnswersDefault = false; AddSection(-1, 0); SectionCount = 0; TargetSection = int.Parse(e.SectionNumber.ToString()); AddSubmitSectionButtons(true); GridMode = SectionGridMode.Edit; }