Example #1
0
        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));
        }
Example #2
0
        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));
        }