public static Tab2Info FromXml(XmlNode configNode)
            {
                var tabInfo = Empty();

                if (configNode != null)
                {
                    tabInfo.Title = configNode.SelectSingleNode("./Title")?.InnerText ?? tabInfo.Title;

                    tabInfo.ToggleSwitch = CheckboxInfo.FromXml(configNode.SelectSingleNode("./ToggleSwitch"));

                    tabInfo.Checkbox1 = CheckboxInfo.FromXml(configNode.SelectSingleNode("./Checkbox1"));

                    foreach (var node in configNode.SelectNodes("./Combo1")?.OfType <XmlNode>().ToArray() ?? new XmlNode[] { })
                    {
                        tabInfo.Combo1Items.Add(ListDataItem.FromXml(node));
                    }

                    var bulletComboLists = new[]
                    {
                        tabInfo.BulletCombo1Items,
                        tabInfo.BulletCombo2Items,
                        tabInfo.BulletCombo3Items,
                        tabInfo.BulletCombo4Items,
                        tabInfo.BulletCombo5Items,
                        tabInfo.BulletCombo6Items,
                        tabInfo.BulletCombo7Items,
                        tabInfo.BulletCombo8Items
                    };

                    for (var i = 0; i < bulletComboLists.Length; i++)
                    {
                        var defaultItemNode = configNode.SelectSingleNode(String.Format("./BulletCombo{0}", i + 1));
                        if (defaultItemNode == null)
                        {
                            continue;
                        }
                        bulletComboLists[i].Add(ListDataItem.FromXml(defaultItemNode));
                    }

                    foreach (var node in configNode.SelectNodes("./BulletList/Item")?.OfType <XmlNode>().ToArray() ?? new XmlNode[] { })
                    {
                        var nodeValue = node.InnerText;
                        foreach (var bulletComboList in bulletComboLists)
                        {
                            if (!bulletComboList.Any(item => String.Equals(nodeValue, item.Value, StringComparison.OrdinalIgnoreCase)))
                            {
                                bulletComboList.Add(ListDataItem.FromString(nodeValue));
                            }
                        }
                    }

                    tabInfo.Combo1Configuration      = TextEditorConfiguration.FromXml(configNode, "Combo1");
                    tabInfo.BulletComboConfiguration = TextEditorConfiguration.FromXml(configNode, "BulletCombos");
                }
                return(tabInfo);
            }
Exemplo n.º 2
0
            private Tab1Info()
            {
                Title        = "data";
                ToggleSwitch = CheckboxInfo.Empty();
                BundleInfo   = BundleInfo.Empty();

                Item1Configuration = TextEditorConfiguration.Empty();
                Item2Configuration = TextEditorConfiguration.Empty();
                Item3Configuration = TextEditorConfiguration.Empty();
            }
            public Tab1Info()
            {
                Combo1Items         = new List <ListDataItem>();
                Combo1Configuration = TextEditorConfiguration.Empty();
                Combo2Items         = new List <ListDataItem>();
                Combo2Configuration = TextEditorConfiguration.Empty();

                Checkbox1 = CheckboxInfo.Empty();
                Checkbox2 = CheckboxInfo.Empty();

                PrelaunchEmptySpaceBackColor = Color.Empty;
                GridLineColor       = Color.Empty;
                RowTitlesForeColor  = Color.Empty;
                ValueCellsForeColor = Color.Empty;
                HeaderForeColor     = Color.Empty;
            }
            private Tab1Info()
            {
                Title                   = "statements";
                ComboCheckbox1          = CheckboxInfo.Empty();
                Combo1Items             = new List <ListDataItem>();
                MemoPopupCheckbox1      = CheckboxInfo.Empty();
                MemoPopup1Items         = new List <ListDataItem>();
                Combo1Configuration     = TextEditorConfiguration.Empty();
                MemoPopup1Configuration = TextEditorConfiguration.Empty();

                ComboCheckbox2          = CheckboxInfo.Empty();
                Combo2Items             = new List <ListDataItem>();
                MemoPopupCheckbox2      = CheckboxInfo.Empty();
                MemoPopup2Items         = new List <ListDataItem>();
                Combo2Configuration     = TextEditorConfiguration.Empty();
                MemoPopup2Configuration = TextEditorConfiguration.Empty();
            }
            public static Tab1Info FromXml(XmlNode configNode)
            {
                var tabInfo = Empty();

                if (configNode != null)
                {
                    tabInfo.Title = configNode.SelectSingleNode("./Title")?.InnerText ?? tabInfo.Title;

                    tabInfo.ComboCheckbox1 = CheckboxInfo.FromXml(configNode.SelectSingleNode("./Checkbox1"));

                    foreach (var node in configNode.SelectNodes("./Combo1")?.OfType <XmlNode>().ToArray() ?? new XmlNode[] { })
                    {
                        tabInfo.Combo1Items.Add(ListDataItem.FromXml(node));
                    }

                    tabInfo.MemoPopupCheckbox1 = CheckboxInfo.FromXml(configNode.SelectSingleNode("./MultiBox1Checkbox1"));

                    foreach (var node in configNode.SelectNodes("./MultiBox1")?.OfType <XmlNode>().ToArray() ?? new XmlNode[] { })
                    {
                        tabInfo.MemoPopup1Items.Add(ListDataItem.FromXml(node));
                    }

                    tabInfo.ComboCheckbox2 = CheckboxInfo.FromXml(configNode.SelectSingleNode("./Checkbox2"));

                    foreach (var node in configNode.SelectNodes("./Combo2")?.OfType <XmlNode>().ToArray() ?? new XmlNode[] { })
                    {
                        tabInfo.Combo2Items.Add(ListDataItem.FromXml(node));
                    }

                    tabInfo.MemoPopupCheckbox2 = CheckboxInfo.FromXml(configNode.SelectSingleNode("./MultiBox2Checkbox2"));

                    foreach (var node in configNode.SelectNodes("./MultiBox2")?.OfType <XmlNode>().ToArray() ?? new XmlNode[] { })
                    {
                        tabInfo.MemoPopup2Items.Add(ListDataItem.FromXml(node));
                    }

                    tabInfo.Combo1Configuration     = TextEditorConfiguration.FromXml(configNode, "Combo1");
                    tabInfo.MemoPopup1Configuration = TextEditorConfiguration.FromXml(configNode, "Multibox1");

                    tabInfo.Combo2Configuration     = TextEditorConfiguration.FromXml(configNode, "Combo2");
                    tabInfo.MemoPopup2Configuration = TextEditorConfiguration.FromXml(configNode, "Multibox2");
                }
                return(tabInfo);
            }
            private Tab2Info()
            {
                Title = "bulletpoints";

                ToggleSwitch = CheckboxInfo.Empty();

                Checkbox1           = CheckboxInfo.Empty();
                Combo1Items         = new List <ListDataItem>();
                Combo1Configuration = TextEditorConfiguration.Empty();

                BulletCombo1Items        = new List <ListDataItem>();
                BulletCombo2Items        = new List <ListDataItem>();
                BulletCombo3Items        = new List <ListDataItem>();
                BulletCombo4Items        = new List <ListDataItem>();
                BulletCombo5Items        = new List <ListDataItem>();
                BulletCombo6Items        = new List <ListDataItem>();
                BulletCombo7Items        = new List <ListDataItem>();
                BulletCombo8Items        = new List <ListDataItem>();
                BulletComboConfiguration = TextEditorConfiguration.Empty();
            }
Exemplo n.º 7
0
            public static Tab1Info FromXml(XmlNode configNode)
            {
                var tabInfo = Empty();

                if (configNode != null)
                {
                    tabInfo.Title = configNode.SelectSingleNode("./Title")?.InnerText ?? tabInfo.Title;

                    tabInfo.ToggleSwitch = CheckboxInfo.FromXml(configNode.SelectSingleNode("./ToggleSwitch"));

                    tabInfo.BundleInfo = BundleInfo.FromXml(configNode);

                    tabInfo.Placeholder1 = configNode.SelectSingleNode("./Item1Placeholder")?.InnerText;
                    tabInfo.Placeholder2 = configNode.SelectSingleNode("./Item2Placeholder")?.InnerText;
                    tabInfo.Placeholder3 = configNode.SelectSingleNode("./Item3Placeholder")?.InnerText;

                    tabInfo.Item1Configuration = TextEditorConfiguration.FromXml(configNode, "BundleItem1");
                    tabInfo.Item2Configuration = TextEditorConfiguration.FromXml(configNode, "BundleItem2");
                    tabInfo.Item3Configuration = TextEditorConfiguration.FromXml(configNode, "BundleItem3");
                }
                return(tabInfo);
            }
        public void Init(
            CheckboxInfo comboToggleInfo,
            IList <ListDataItem> comboList,
            CheckboxInfo memoPopupToggleInfo,
            IList <ListDataItem> memoPopupList,
            IntegratedSolutionState.StatementItemState itemState,
            TextEditorConfiguration comboConfiguration,
            TextEditorConfiguration memoPopupConfiguration,
            MainFormStyleConfiguration styleConfiguration,
            ISolutionsResourceManager resourceManager)
        {
            _allowHandleEvents = false;

            _comboToggleInfo = comboToggleInfo;

            _comboList.Clear();
            _comboList.AddRange(comboList);

            _memoPopupList.Clear();
            _memoPopupList.AddRange(memoPopupList);

            _itemState = itemState;

            _styleConfiguration = styleConfiguration;

            comboBoxEditCombo.EnableSelectAll().RaiseNullValueIfEditorEmpty().AssignConfiguration(comboConfiguration);

            checkEditCombo.Text = String.Format("<color=gray>{0}</color>", comboToggleInfo.Title ?? "header");
            layoutControlItemToggleCombo.MinSize = new Size(checkEditCombo.Width, checkEditCombo.Height);
            layoutControlItemToggleCombo.MaxSize = new Size(checkEditCombo.Width, checkEditCombo.Height);

            comboBoxEditCombo.Properties.Items.Clear();
            comboBoxEditCombo.Properties.Items.AddRange(_comboList);
            comboBoxEditCombo.Properties.NullText =
                _comboList.FirstOrDefault(item => item.IsPlaceholder)?.Value ??
                comboBoxEditCombo.Properties.NullText;

            memoPopupEdit.Init(_memoPopupList,
                               _memoPopupList.FirstOrDefault(item => item.IsDefault || item.IsPlaceholder),
                               memoPopupConfiguration,
                               _styleConfiguration,
                               resourceManager);
            memoPopupEdit.EditValueChanged += OnEditValueChanged;

            if (_itemState.Combo != null)
            {
                checkEditCombo.Checked      = !String.IsNullOrEmpty(_itemState.Combo?.Value);
                comboBoxEditCombo.EditValue = _itemState.Combo;
            }
            else
            {
                checkEditCombo.Checked      = comboToggleInfo.Value;
                comboBoxEditCombo.EditValue = _comboList.FirstOrDefault(item => item.IsDefault && !item.IsPlaceholder);
            }

            if (_itemState.MemoPopup != null)
            {
                checkEditMemoPopup.Checked = !String.IsNullOrEmpty(_itemState.MemoPopup?.Value);
                memoPopupEdit.LoadData(_itemState.MemoPopup);
            }
            else
            {
                checkEditMemoPopup.Checked = memoPopupToggleInfo.Value;
            }

            _allowHandleEvents = true;
        }
            public static Tab1Info FromXml(XmlNode configNode)
            {
                var tabInfo = Empty();

                if (configNode != null)
                {
                    foreach (var titleNode in (configNode.SelectNodes("./SHIFT13ETabStrip")?.OfType <XmlNode>().ToArray() ?? new XmlNode[] { }).ToList())
                    {
                        var titleAttribute = titleNode.Attributes?.OfType <XmlAttribute>()
                                             .FirstOrDefault(a => String.Equals(a.Name, "Tab1Name", StringComparison.OrdinalIgnoreCase));

                        if (titleAttribute == null)
                        {
                            continue;
                        }

                        tabInfo.Title = titleAttribute.Value;
                        break;
                    }

                    foreach (var comboNode in (configNode.SelectNodes("./SHIFT13ETAB1COMBO1")?.OfType <XmlNode>().ToArray() ?? new XmlNode[] { }).ToList())
                    {
                        tabInfo.Combo1Items.Add(ListDataItem.FromXml(comboNode));
                    }

                    foreach (var comboNode in (configNode.SelectNodes("./SHIFT13ETAB1COMBO2")?.OfType <XmlNode>().ToArray() ?? new XmlNode[] { }).ToList())
                    {
                        tabInfo.Combo2Items.Add(ListDataItem.FromXml(comboNode));
                    }

                    tabInfo.Checkbox1 = CheckboxInfo.FromXml(configNode.SelectSingleNode("./SHIFT13ECheckbox1"));
                    tabInfo.Checkbox2 = CheckboxInfo.FromXml(configNode.SelectSingleNode("./SHIFT13ECheckbox2"));

                    tabInfo.Combo1Configuration = TextEditorConfiguration.FromXml(configNode, "SHIFT13ETAB1COMBO1");
                    tabInfo.Combo2Configuration = TextEditorConfiguration.FromXml(configNode, "SHIFT13ETAB1COMBO2");

                    foreach (var styleNode in (configNode.SelectNodes("./ControlStyle")?.OfType <XmlNode>().ToArray() ?? new XmlNode[] { }).ToList())
                    {
                        var controlAttributeValue = styleNode.Attributes?.OfType <XmlAttribute>().FirstOrDefault(a => String.Equals(a.Name, "Control", StringComparison.OrdinalIgnoreCase))?.Value;
                        switch (controlAttributeValue)
                        {
                        case "GridLines":
                            tabInfo.GridLineColor = ColorTranslator.FromHtml(styleNode.Attributes
                                                                             ?.OfType <XmlAttribute>()
                                                                             .FirstOrDefault(a => String.Equals(a.Name, "Gridlinescolor",
                                                                                                                StringComparison.OrdinalIgnoreCase))?.Value);
                            break;

                        case "GridRow":
                            tabInfo.RowTitlesForeColor = ColorTranslator.FromHtml(styleNode.Attributes
                                                                                  ?.OfType <XmlAttribute>()
                                                                                  .FirstOrDefault(a => String.Equals(a.Name, "FarLeftHeadercolor",
                                                                                                                     StringComparison.OrdinalIgnoreCase))?.Value);
                            tabInfo.ValueCellsForeColor = ColorTranslator.FromHtml(styleNode.Attributes
                                                                                   ?.OfType <XmlAttribute>()
                                                                                   .FirstOrDefault(a => String.Equals(a.Name, "CellTextColor",
                                                                                                                      StringComparison.OrdinalIgnoreCase))?.Value);
                            break;

                        case "GridColumn":
                            tabInfo.HeaderForeColor = ColorTranslator.FromHtml(styleNode.Attributes
                                                                               ?.OfType <XmlAttribute>()
                                                                               .FirstOrDefault(a => String.Equals(a.Name, "TopHeadercolor",
                                                                                                                  StringComparison.OrdinalIgnoreCase))?.Value);
                            break;

                        case "PreLaunchShade":
                            tabInfo.PrelaunchEmptySpaceBackColor = ColorTranslator.FromHtml(styleNode.Attributes
                                                                                            ?.OfType <XmlAttribute>()
                                                                                            .FirstOrDefault(a => String.Equals(a.Name, "FillColor",
                                                                                                                               StringComparison.OrdinalIgnoreCase))?.Value);
                            break;
                        }
                    }
                }
                return(tabInfo);
            }
        public override void LoadData(XmlNode configNode, ResourceManager resourceManager)
        {
            base.LoadData(configNode, resourceManager);

            if (_resourceManager.DataContractPartBFile.ExistsLocal())
            {
                var document = new XmlDocument();
                document.Load(_resourceManager.DataContractPartBFile.LocalPath);

                var node = document.SelectSingleNode(@"/SHIFT15B");
                if (node == null)
                {
                    return;
                }
                foreach (XmlNode childNode in node.ChildNodes)
                {
                    var item = ListDataItem.FromXml(childNode);
                    switch (childNode.Name)
                    {
                    case "SHIFT15BHeader":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            HeadersItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab1Combo1A":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table1Combo1AItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab1Combo1C":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table1Combo1CItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab1Combo2A":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table1Combo2AItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab1Combo2C":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table1Combo2CItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab1Combo3A":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table1Combo3AItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab1Combo3C":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table1Combo3CItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab1Combo4A":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table1Combo4AItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab1Combo4C":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table1Combo4CItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab1Combo5A":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table1Combo5AItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab1Combo5C":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table1Combo5CItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab1Combo6A":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table1Combo6AItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab1Combo6C":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table1Combo6CItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab1Combo7A":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table1Combo7AItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab1Combo7C":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table1Combo7CItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab1Combo8A":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table1Combo8AItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab1Combo8C":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table1Combo8CItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab1Combo9A":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table1Combo9AItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab1Combo9C":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table1Combo9CItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab1Combo10A":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table1Combo10AItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab1Combo10C":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table1Combo10CItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab2Combo1A":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table2Combo1AItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab2Combo1C":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table2Combo1CItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab2Combo2A":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table2Combo2AItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab2Combo2C":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table2Combo2CItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab2Combo3A":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table2Combo3AItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab2Combo3C":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table2Combo3CItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab2Combo4A":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table2Combo4AItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab2Combo4C":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table2Combo4CItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab2Combo5A":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table2Combo5AItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab2Combo5C":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table2Combo5CItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab2Combo6A":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table2Combo6AItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab2Combo6C":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table2Combo6CItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab2Combo7A":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table2Combo7AItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab2Combo7C":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table2Combo7CItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab2Combo8A":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table2Combo8AItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab2Combo8C":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table2Combo8CItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab2Combo9A":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table2Combo9AItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab2Combo9C":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table2Combo9CItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab2Combo10A":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table2Combo10AItems.Add(item);
                        }
                        break;

                    case "SHIFT15BTab2Combo10C":
                        if (!String.IsNullOrEmpty(item.Value))
                        {
                            Table2Combo10CItems.Add(item);
                        }
                        break;

                    case "SHIFT15BSummaryCheckbox1":
                        SummaryCheckbox1 = CheckboxInfo.FromXml(childNode);
                        break;

                    case "SHIFT15BSummaryCheckbox2":
                        SummaryCheckbox3 = CheckboxInfo.FromXml(childNode);
                        break;
                    }
                }

                Table1Configuration = TableConfiguration.FromXml(node, "SHIFT15BTab1");
                Table2Configuration = TableConfiguration.FromXml(node, "SHIFT15BTab2");

                CommonEditorConfiguration  = TextEditorConfiguration.FromXml(node);
                HeadersEditorConfiguration = TextEditorConfiguration.FromXml(node, "SHIFT15BHeader");

                TableComboConfiguration = TextEditorConfiguration.FromXml(node, "SHIFT15BTabCombos");
                SummaryConfiguration    = TextEditorConfiguration.FromXml(node, "SHIFT15BSummaryCombos");
            }

            if (resourceManager.DataAgreementCommonFile.ExistsLocal())
            {
                var table1Column1Combos = Table1Column1Lists;

                var table2Column1Combos = Table2Column1Lists;

                var column3Combos = Table1Column3Lists.Union(Table2Column3Lists).ToArray();

                var document = new XmlDocument();
                document.Load(resourceManager.DataAgreementCommonFile.LocalPath);

                var table1Column1Nodes = document.SelectNodes("//Settings/Television/Item")?.OfType <XmlNode>().ToArray() ?? new XmlNode[] { };
                foreach (var itemNode in table1Column1Nodes)
                {
                    var nodeValue = itemNode?.InnerText;
                    if (!String.IsNullOrWhiteSpace(nodeValue))
                    {
                        foreach (var comboList in table1Column1Combos)
                        {
                            if (!comboList.Any(item => String.Equals(nodeValue, item.Value, StringComparison.OrdinalIgnoreCase)))
                            {
                                comboList.Add(ListDataItem.FromString(nodeValue));
                            }
                        }
                    }
                }

                var table2Column1Nodes = document.SelectNodes("//Settings/Digital/Item")?.OfType <XmlNode>().ToArray() ?? new XmlNode[] { };
                foreach (var itemNode in table2Column1Nodes)
                {
                    var nodeValue = itemNode?.InnerText;
                    if (!String.IsNullOrWhiteSpace(nodeValue))
                    {
                        foreach (var comboList in table2Column1Combos)
                        {
                            if (!comboList.Any(item => String.Equals(nodeValue, item.Value, StringComparison.OrdinalIgnoreCase)))
                            {
                                comboList.Add(ListDataItem.FromString(nodeValue));
                            }
                        }
                    }
                }

                var column3Nodes = document.SelectNodes("//Settings/Term/Item")?.OfType <XmlNode>().ToArray() ?? new XmlNode[] { };
                foreach (var itemNode in column3Nodes)
                {
                    var nodeValue = itemNode?.InnerText;
                    if (!String.IsNullOrWhiteSpace(nodeValue))
                    {
                        foreach (var comboList in column3Combos)
                        {
                            if (!comboList.Any(item => String.Equals(nodeValue, item.Value, StringComparison.OrdinalIgnoreCase)))
                            {
                                comboList.Add(ListDataItem.FromString(nodeValue));
                            }
                        }
                    }
                }

                var summaryCombo1Nodes = document.SelectNodes("//Settings/Months/Item")?.OfType <XmlNode>().ToArray() ?? new XmlNode[] { };
                foreach (var itemNode in summaryCombo1Nodes)
                {
                    var nodeValue = itemNode?.InnerText;
                    if (!String.IsNullOrWhiteSpace(nodeValue) &&
                        !SummaryCombo2Items.Any(item => String.Equals(nodeValue, item.Value, StringComparison.OrdinalIgnoreCase)))
                    {
                        SummaryCombo2Items.Add(ListDataItem.FromString(nodeValue));
                    }
                }
            }
        }
        public ContractTabBInfo() : base(ShiftChildTabType.B, ShiftTopTabType.Contract)
        {
            Table1Configuration = TableConfiguration.Empty();
            Table2Configuration = TableConfiguration.Empty();

            Table1Combo1AItems  = new List <ListDataItem>();
            Table1Combo1CItems  = new List <ListDataItem>();
            Table1Combo2AItems  = new List <ListDataItem>();
            Table1Combo2CItems  = new List <ListDataItem>();
            Table1Combo3AItems  = new List <ListDataItem>();
            Table1Combo3CItems  = new List <ListDataItem>();
            Table1Combo4AItems  = new List <ListDataItem>();
            Table1Combo4CItems  = new List <ListDataItem>();
            Table1Combo5AItems  = new List <ListDataItem>();
            Table1Combo5CItems  = new List <ListDataItem>();
            Table1Combo6AItems  = new List <ListDataItem>();
            Table1Combo6CItems  = new List <ListDataItem>();
            Table1Combo7AItems  = new List <ListDataItem>();
            Table1Combo7CItems  = new List <ListDataItem>();
            Table1Combo8AItems  = new List <ListDataItem>();
            Table1Combo8CItems  = new List <ListDataItem>();
            Table1Combo9AItems  = new List <ListDataItem>();
            Table1Combo9CItems  = new List <ListDataItem>();
            Table1Combo10AItems = new List <ListDataItem>();
            Table1Combo10CItems = new List <ListDataItem>();

            Table2Combo1AItems  = new List <ListDataItem>();
            Table2Combo1CItems  = new List <ListDataItem>();
            Table2Combo2AItems  = new List <ListDataItem>();
            Table2Combo2CItems  = new List <ListDataItem>();
            Table2Combo3AItems  = new List <ListDataItem>();
            Table2Combo3CItems  = new List <ListDataItem>();
            Table2Combo4AItems  = new List <ListDataItem>();
            Table2Combo4CItems  = new List <ListDataItem>();
            Table2Combo5AItems  = new List <ListDataItem>();
            Table2Combo5CItems  = new List <ListDataItem>();
            Table2Combo6AItems  = new List <ListDataItem>();
            Table2Combo6CItems  = new List <ListDataItem>();
            Table2Combo7AItems  = new List <ListDataItem>();
            Table2Combo7CItems  = new List <ListDataItem>();
            Table2Combo8AItems  = new List <ListDataItem>();
            Table2Combo8CItems  = new List <ListDataItem>();
            Table2Combo9AItems  = new List <ListDataItem>();
            Table2Combo9CItems  = new List <ListDataItem>();
            Table2Combo10AItems = new List <ListDataItem>();
            Table2Combo10CItems = new List <ListDataItem>();

            SummaryCombo2Items = new List <ListDataItem>();

            SummaryCheckbox1 = CheckboxInfo.Empty();
            SummaryCheckbox3 = CheckboxInfo.Empty();

            TableComboConfiguration = TextEditorConfiguration.Empty();
            SummaryConfiguration    = TextEditorConfiguration.Empty();

            Table1Column1Lists = new List <List <ListDataItem> >(new[]
            {
                Table1Combo1AItems,
                Table1Combo2AItems,
                Table1Combo3AItems,
                Table1Combo4AItems,
                Table1Combo5AItems,
                Table1Combo6AItems,
                Table1Combo7AItems,
                Table1Combo8AItems,
                Table1Combo9AItems,
                Table1Combo10AItems,
            });

            Table1Column3Lists = new List <List <ListDataItem> >(new[]
            {
                Table1Combo1CItems,
                Table1Combo2CItems,
                Table1Combo3CItems,
                Table1Combo4CItems,
                Table1Combo5CItems,
                Table1Combo6CItems,
                Table1Combo7CItems,
                Table1Combo8CItems,
                Table1Combo9CItems,
                Table1Combo10CItems,
            });

            Table2Column1Lists = new List <List <ListDataItem> >(new[]
            {
                Table2Combo1AItems,
                Table2Combo2AItems,
                Table2Combo3AItems,
                Table2Combo4AItems,
                Table2Combo5AItems,
                Table2Combo6AItems,
                Table2Combo7AItems,
                Table2Combo8AItems,
                Table2Combo9AItems,
                Table2Combo10AItems,
            });

            Table2Column3Lists = new List <List <ListDataItem> >(new[]
            {
                Table2Combo1CItems,
                Table2Combo2CItems,
                Table2Combo3CItems,
                Table2Combo4CItems,
                Table2Combo5CItems,
                Table2Combo6CItems,
                Table2Combo7CItems,
                Table2Combo8CItems,
                Table2Combo9CItems,
                Table2Combo10CItems,
            });
        }