Пример #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);
            }
        }
        public void UpdateDataSourceMaster(DataSourceMasterModel model)
        {
            DataSourceMaster existing = this.dataContext
                                        .DataSourcesMaster
                                        .Where(rx => rx.MasterReport_Id == model.MasterReport_Id)
                                        .FirstOrDefault();

            if (existing == null)
            {
                existing = model.CopyToObject(new DataSourceMaster()) as DataSourceMaster;

                this.dataContext.DataSourcesMaster.Add(existing);
            }
            else
            {
                existing = model.CopyToObject(existing) as DataSourceMaster;
            }

            this.dataContext.SaveChanges();

            model = existing.CopyToObject(model) as DataSourceMasterModel;
        }