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