/// <summary>
 /// Builds an answer connections collection that can be used
 /// to connect question's answer together
 /// </summary>
 public static AnswerConnectionsCollection CreateSubscriberItemCollection(int questionId)
 {
     AnswerConnectionsCollection connectionss = new AnswerConnectionsCollection();
     foreach (AnswerConnectionData.AnswerConnectionsRow row in new Questions().GetQuestionAnswerConnections(questionId).AnswerConnections)
     {
         connectionss.Add(Create(row.PublisherAnswerId, row.SubscriberAnswerId));
     }
     return connectionss;
 }
 /// <summary>
 /// Subscribe the answer items which require it to the correct
 /// answer publisher controls defined as defined by the Subscriber collection
 /// </summary>
 public static void ActivateAnswerConnections(AnswerConnectionsCollection answerConnections, AnswerItemCollection answers)
 {
     foreach (AnswerConnection connection in answerConnections)
     {
         IAnswerSubscriber answerItem = GetAnswerItem(answers, connection.SubscriberId) as IAnswerSubscriber;
         if (answerItem != null)
         {
             AnswerItem item2 = GetAnswerItem(answers, connection.PublisherId);
             if ((item2 != null) && (item2 is IAnswerPublisher))
             {
                 item2.AnswerPublished += new AnswerPublisherEventHandler(answerItem.ProcessPublishedAnswers);
                 item2.AnswerPublisherCreated += new AnswerPublisherEventHandler(answerItem.PublisherCreation);
             }
         }
     }
 }
 /// <summary>
 /// Creates a new section of answers
 /// </summary>
 protected override Section CreateSection(int sectionNumber, int sectionUid)
 {
     if (this._answerConnections == null)
     {
         this._answerConnections = SubscriberItemFactory.CreateSubscriberItemCollection(base.QuestionId);
     }
     AnswerSection section = this.GetAnswerSection((AnswerData) this.DataSource, sectionNumber, sectionUid);
     section.QuestionId = base.QuestionId;
     section.ColumnsNumber = this.ColumnsNumber;
     section.LayoutMode = this.LayoutMode;
     section.AnswerConnections = this._answerConnections;
     section.AnswerStyle = base.AnswerStyle;
     section.EnableClientSideValidation = base.EnableClientSideValidation;
     section.ClientScriptGenerated += new ClientScriptGeneratedEventHandler(this.Section_ClientScriptGenerated);
     section.ID = GlobalConfig.AnswerSectionName + section.SectionUid;
     return section;
 }
        /// <summary>
        /// Creates a new section of answers
        /// </summary>
        protected override Section CreateSection(int sectionNumber, int sectionUid)
        {
            if (this._answerConnections == null)
            {
                this._answerConnections = SubscriberItemFactory.CreateSubscriberItemCollection(base.QuestionId);
            }
            AnswerSection section = this.GetAnswerSection((AnswerData)this.DataSource, sectionNumber, sectionUid);

            section.QuestionId                 = base.QuestionId;
            section.ColumnsNumber              = this.ColumnsNumber;
            section.LayoutMode                 = this.LayoutMode;
            section.AnswerConnections          = this._answerConnections;
            section.AnswerStyle                = base.AnswerStyle;
            section.EnableClientSideValidation = base.EnableClientSideValidation;
            section.ClientScriptGenerated     += new ClientScriptGeneratedEventHandler(this.Section_ClientScriptGenerated);
            section.ID = GlobalConfig.AnswerSectionName + section.SectionUid;
            return(section);
        }