public AnswerBase FindAnswer( QuestionBase questionBase ) { if( this.dictionaryQuestionAnswer.Count != this.Form.Questions.Dictionary.Count ) { Dictionary<QuestionBase,AnswerBase> dictionary = this.Form.Questions.Dictionary; foreach( KeyValuePair<QuestionBase, AnswerBase> entry in dictionary ) { try { this.dictionaryQuestionAnswer.Add( entry.Key, null ); } catch( ArgumentException ) { Console.WriteLine( "An element with Key = " + entry.Key + " already exists." ); } } this.dictionaryQuestionAnswer = this.Form.Questions.Dictionary; } foreach( KeyValuePair<QuestionBase, AnswerBase> entry in dictionaryQuestionAnswer ) { if( entry.Key == questionBase ) { return entry.Value; } } return null; }
public AnswerBase AddAnswerFor( QuestionBase questionBase ) { AnswerBase anwserBase = (AnswerBase)Activator.CreateInstance( Type.GetType( "DForm." + (questionBase.GetType().Name).Replace( "Question", "Answer" ) + ",DForm" ) ); anwserBase.Title = questionBase.Title; anwserBase.Index = questionBase.Index; anwserBase.Parent = questionBase.Parent; this.dictionaryQuestionAnswer[questionBase] = anwserBase ; return anwserBase; }
public Boolean Contains(QuestionBase questionBase) { if( questionBase == null ) throw new ArgumentNullException(); if( questionBase == this || questionBase.Parent.Parent == null ) { return true; } else { do { questionBase = questionBase.Parent; if( questionBase.Parent == this ) return true; } while( questionBase.Parent != this && questionBase != null ); return false; } }
public void AddQuestionToParent( QuestionBase questionBase ) { questionBase.Dictionary[this] = null; }