public questStatus Read(TablesetId tablesetId, out TablesetConfigurationViewModel tablesetConfigurationViewModel) { // Initialize questStatus status = null; tablesetConfigurationViewModel = null; // If no tablesetId, return empty view model if (tablesetId.Id < BaseId.VALID_ID) { tablesetConfigurationViewModel = new TablesetConfigurationViewModel(this.UserSession, this._setupBaseViewModel); return(new questStatus(Severity.Success)); } // Read TablesetConfiguration tablesetConfiguration = null; TablesetMgr tablesetMgr = new TablesetMgr(this.UserSession); status = tablesetMgr.ReadTablesetConfiguration(tablesetId, out tablesetConfiguration); if (!questStatusDef.IsSuccess(status)) { // Return what we can of the configuration, but with the error status. if (tablesetConfiguration != null) { tablesetConfigurationViewModel = new TablesetConfigurationViewModel(this.UserSession, this._setupBaseViewModel); BufferMgr.TransferBuffer(tablesetConfiguration, tablesetConfigurationViewModel, true); if (this._tablesetEditorViewModel != null) { tablesetConfigurationViewModel.Id = this._tablesetEditorViewModel.Id; tablesetConfigurationViewModel.TablesetId = this._tablesetEditorViewModel.Id; } else if (this._tablesetConfigurationViewModel != null) { tablesetConfigurationViewModel.Id = this._tablesetConfigurationViewModel.Id; tablesetConfigurationViewModel.TablesetId = this._tablesetConfigurationViewModel.Id; } } if (status.Message.Contains("DbDatabasesMgr") && (status.Message.Contains("not found"))) { status = new questStatus(Severity.Error, "Database not found for this table set."); } return(status); } // Transfer model. tablesetConfigurationViewModel = new TablesetConfigurationViewModel(this.UserSession, this._setupBaseViewModel); BufferMgr.TransferBuffer(tablesetConfiguration, tablesetConfigurationViewModel, true); tablesetConfigurationViewModel.Id = tablesetConfiguration.Tableset.Id; tablesetConfigurationViewModel.TablesetId = tablesetConfiguration.Tableset.Id; // Tables foreach (TablesetTable tablesetTable in tablesetConfiguration.TablesetTables) { BootstrapTreenodeViewModel bootstrapTreenodeViewModel = null; status = FormatBootstrapTreeviewNode(tablesetTable.Table, out bootstrapTreenodeViewModel); if (!questStatusDef.IsSuccess(status)) { return(status); } tablesetConfigurationViewModel.TableList.Add(bootstrapTreenodeViewModel); } foreach (Table dbTable in tablesetConfiguration.DBTableList) { BootstrapTreenodeViewModel bootstrapTreenodeViewModel = null; status = FormatBootstrapTreeviewNode(dbTable, out bootstrapTreenodeViewModel); if (!questStatusDef.IsSuccess(status)) { return(status); } tablesetConfigurationViewModel.DBTableList.Add(bootstrapTreenodeViewModel); } // Views foreach (TablesetView tablesetView in tablesetConfiguration.TablesetViews) { BootstrapTreenodeViewModel bootstrapTreenodeViewModel = null; status = FormatBootstrapTreeviewNode(tablesetView.View, out bootstrapTreenodeViewModel); if (!questStatusDef.IsSuccess(status)) { return(status); } tablesetConfigurationViewModel.ViewList.Add(bootstrapTreenodeViewModel); } foreach (View dbView in tablesetConfiguration.DBViewList) { BootstrapTreenodeViewModel bootstrapTreenodeViewModel = null; status = FormatBootstrapTreeviewNode(dbView, out bootstrapTreenodeViewModel); if (!questStatusDef.IsSuccess(status)) { return(status); } tablesetConfigurationViewModel.DBViewList.Add(bootstrapTreenodeViewModel); } return(new questStatus(Severity.Success)); }
public questStatus Save(TablesetConfigurationViewModel tablesetConfigurationViewModel) { // Initialize questStatus status = null; TablesetId tablesetId = null; // Validate: must have a valid TablesetId if (tablesetConfigurationViewModel.Tableset.Id < BaseId.VALID_ID) { return(new questStatus(Severity.Error, "Invalid Tableset identity")); } tablesetId = new TablesetId(tablesetConfigurationViewModel.Tableset.Id); Tableset tableset = null; TablesetsMgr tablesetsMgr = new TablesetsMgr(this.UserSession); status = tablesetsMgr.Read(tablesetId, out tableset); if (!questStatusDef.IsSuccess(status)) { return(new questStatus(Severity.Error, String.Format("Tableset identity not found: {0}", tablesetId.Id))); } // Transfer model if (tablesetConfigurationViewModel.TableList == null) { tablesetConfigurationViewModel.TableList = new List <BootstrapTreenodeViewModel>(); } TablesetConfiguration tablesetConfiguration = new TablesetConfiguration(); BufferMgr.TransferBuffer(tablesetConfigurationViewModel, tablesetConfiguration, true); foreach (BootstrapTreenodeViewModel _table in tablesetConfigurationViewModel.TableList) { TablesetTable tablesetTable = new TablesetTable(); string[] parts = _table.text.Split(new[] { '[', '.', ']' }, StringSplitOptions.RemoveEmptyEntries); tablesetTable.Schema = parts[0]; tablesetTable.Name = parts[1]; tablesetConfiguration.TablesetTables.Add(tablesetTable); } foreach (BootstrapTreenodeViewModel _view in tablesetConfigurationViewModel.ViewList) { TablesetView tablesetView = new TablesetView(); string[] parts = _view.text.Split(new[] { '[', '.', ']' }, StringSplitOptions.RemoveEmptyEntries); tablesetView.Schema = parts[0]; tablesetView.Name = parts[1]; tablesetConfiguration.TablesetViews.Add(tablesetView); } // Save tablesetId = null; TablesetMgr tablesetMgr = new TablesetMgr(this.UserSession); status = tablesetMgr.SaveTablesetConfiguration(tablesetConfiguration, out tablesetId); if (!questStatusDef.IsSuccess(status)) { FormatErrorMessage(status, tablesetConfigurationViewModel); return(status); } tablesetConfigurationViewModel.Tableset.Id = tablesetId.Id; return(new questStatus(Severity.Success)); }