Example #1
0
        private void InitializeMainTable(long masterReportId)
        {
            List <DataItemModel> systemTables = Integrity.GetSystemTables();

            DataSourceRepository repo = new DataSourceRepository();

            DataSourceMasterModel savedModel = repo.GetDataSourceMasterByPrimaryKey(masterReportId);

            Dictionary <string, DataSourceTableModel> selectedTables = repo
                                                                       .GetDataSourceTableByForeignKeyMasterReport_Id(masterReportId)
                                                                       .ToDictionary(d => d.TableName);

            this.MainTable = savedModel == null ? new DataSourceMasterModel {
                MasterReport_Id = masterReportId
            } : savedModel;

            this.MainTable.SourceTables = systemTables.ToArray();

            this.uxMainTable.Items.Add(this.MainTable);

            this.uxMainTable[0, 0].IsReadOnly = savedModel != null;

            foreach (DataItemModel table in systemTables)
            {
                if (table.DisplayValue == this.MainTable.MainTableName)
                {
                    continue;
                }

                TreeViewItemTool tableItem = new TreeViewItemTool
                {
                    Header     = table.DisplayValue,
                    IsCheckBox = true,
                    IsChecked  = selectedTables.ContainsKey(table.DisplayValue) ? selectedTables[table.DisplayValue].IsAvailable : false
                };

                this.uxOtherTables.Items.Add(tableItem);

                this.treeTableItems.Add(tableItem);
            }
        }