/// <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); }