//Scott@2007-12-03 10:39 modified some of the following code.
        private void AddReportsFromNode(TreeNode i_node, ReportTemplateCollection i_Reports)
        {
            if (i_node == null)
            {
                return;
            }

            if (i_node.Checked && i_node.Parent != null)
            {
                ReportTemplate m_Template = i_node.Tag as ReportTemplate;

                if (m_Template != null)
                {
                    i_Reports.Add(m_Template);
                }
            }

            //Recursion
            if (i_node.Nodes != null)
            {
                foreach (TreeNode i_ChildNode in i_node.Nodes)
                {
                    AddReportsFromNode(i_ChildNode, i_Reports);
                }
            }
        }
        public void InitReports(ReportTemplateCollection i_Reports)
        {
            this._AllTemplate = i_Reports;

            this.ResetTreeNodes();
            foreach (ReportTemplate m_Report in i_Reports)
            {
                if (m_Report.TemplateType == TemplateTypes.Advantage)
                {
                    TreeNode m_Node = new TreeNode(m_Report.TemplateName);
                    m_Node.Tag = m_Report;
                    this.C_ReportsTree.Nodes[0].Nodes.Add(m_Node);
                }
                else if (m_Report.TemplateType == TemplateTypes.Victory)
                {
                    TreeNode m_Node = new TreeNode(m_Report.TemplateName);
                    m_Node.Tag = m_Report;
                    this.C_ReportsTree.Nodes[1].Nodes.Add(m_Node);
                }
                else if (m_Report.TemplateType == TemplateTypes.Other)
                {
                    TreeNode m_Node = new TreeNode(m_Report.TemplateName);
                    m_Node.Tag = m_Report;
                    this.C_ReportsTree.Nodes[2].Nodes.Add(m_Node);
                }
            }
        }
        public override void UpdateData(object i_Data)
        {
            //base.UpdateData (i_Data);
            ReportTemplateCollection m_Repots = i_Data as ReportTemplateCollection;

            if (m_Repots == null)
            {
                return;
            }
        }
        //Scott@2007-12-03 10:38 modified some of the following code.
        public void GetSelectReports(ReportTemplateCollection i_Reports)
        {
            if (i_Reports == null)
            {
                return;
            }

            i_Reports.Clear();

            foreach (TreeNode i_node in this.C_ReportsTree.Nodes)
            {
                AddReportsFromNode(i_node, i_Reports);
            }
        }
 public void GetSelectedReports(ReportTemplateCollection i_Reports)
 {
     this._RepSelectControl.GetSelectReports(i_Reports);
 }
        private void ReportSelector_Load(object sender, System.EventArgs e)
        {
            ReportTemplateCollection m_Report = ReportManager.LoadAllTemplates();

            this._RepSelectControl.InitReports(m_Report);
        }