private questStatus read(MasterPricingEntities dbContext, TablesetViewId tablesetViewId, out Quest.Services.Dbio.MasterPricing.TablesetViews tablesetView) { // Initialize questStatus status = null; tablesetView = null; try { tablesetView = dbContext.TablesetViews.Where(r => r.Id == tablesetViewId.Id).SingleOrDefault(); if (tablesetView == null) { return(new questStatus(Severity.Error, String.Format("ERROR: {0}.{1}: {2}", this.GetType().Name, MethodBase.GetCurrentMethod().Name, String.Format("TablesetId.Id {0} not found", tablesetViewId.Id)))); } } catch (System.Exception ex) { status = new questStatus(Severity.Fatal, String.Format("EXCEPTION: {0}.{1}: {2}", this.GetType().Name, MethodBase.GetCurrentMethod().Name, ex.InnerException != null ? ex.InnerException.Message : ex.Message)); LogException(ex, status); return(status); } return(new questStatus(Severity.Success)); }
/*---------------------------------------------------------------------------------------------------------------------------------- * TablesetViews *---------------------------------------------------------------------------------------------------------------------------------*/ private questStatus create(MasterPricingEntities dbContext, Quest.Functional.MasterPricing.TablesetView tablesetView, out TablesetViewId tablesetViewId) { // Initialize questStatus status = null; tablesetViewId = null; // Perform create try { Quest.Services.Dbio.MasterPricing.TablesetViews _tablesetView = new Quest.Services.Dbio.MasterPricing.TablesetViews(); BufferMgr.TransferBuffer(tablesetView, _tablesetView); dbContext.TablesetViews.Add(_tablesetView); dbContext.SaveChanges(); if (_tablesetView.Id == 0) { return(new questStatus(Severity.Error, "Quest.Functional.MasterPricing.TablesetView not created")); } tablesetViewId = new TablesetViewId(_tablesetView.Id); } catch (DbEntityValidationException ex) { var errorMessages = ex.EntityValidationErrors.SelectMany(x => x.ValidationErrors).Select(x => x.ErrorMessage); String fullErrorMessage = string.Join("; ", errorMessages); String exceptionMessage = string.Concat(ex.Message, fullErrorMessage); status = new questStatus(Severity.Fatal, String.Format("EXCEPTION: {0}.{1}: {2}", this.GetType().Name, MethodBase.GetCurrentMethod().Name, exceptionMessage)); LogException(ex, status); return(status); } catch (System.Exception ex) { status = new questStatus(Severity.Fatal, String.Format("EXCEPTION: {0}.{1}: {2}", this.GetType().Name, MethodBase.GetCurrentMethod().Name, ex.InnerException != null ? ex.InnerException.Message : ex.Message)); LogException(ex, status); return(status); } return(new questStatus(Severity.Success)); }
private questStatus getJoinTarget(TablesetColumnId tablesetColumnId, out TablesetTable tablesetTable, out TablesetView tablesetView) { // Initialize questStatus status = null; tablesetTable = null; tablesetView = null; // Get TablesetColumn DbTablesetColumnsMgr dbTablesetColumnsMgr = new DbTablesetColumnsMgr(this.UserSession); TablesetColumn tablesetColumn = null; status = dbTablesetColumnsMgr.Read(tablesetColumnId, out tablesetColumn); if (!questStatusDef.IsSuccessOrWarning(status)) { return(status); } if (tablesetColumn.EntityTypeId == EntityType.Table) { TablesetTableId tablesetTableId = new TablesetTableId(tablesetColumn.TableSetEntityId); DbTablesetTablesMgr dbTablesetTablesMgr = new DbTablesetTablesMgr(this.UserSession); status = dbTablesetTablesMgr.Read(tablesetTableId, out tablesetTable); if (!questStatusDef.IsSuccessOrWarning(status)) { return(status); } } else if (tablesetColumn.EntityTypeId == EntityType.View) { TablesetViewId tablesetViewId = new TablesetViewId(tablesetColumn.TableSetEntityId); DbTablesetViewsMgr dbTablesetViewsMgr = new DbTablesetViewsMgr(this.UserSession); status = dbTablesetViewsMgr.Read(tablesetViewId, out tablesetView); if (!questStatusDef.IsSuccessOrWarning(status)) { return(status); } } return(new questStatus(Severity.Success)); }
public questStatus Read(DbMgrTransaction trans, TablesetViewId tablesetViewId, out Quest.Functional.MasterPricing.TablesetView tablesetView) { // Initialize questStatus status = null; tablesetView = null; // Perform read. using (MasterPricingEntities dbContext = new MasterPricingEntities()) { Quest.Services.Dbio.MasterPricing.TablesetViews _tablesetView = null; status = read((MasterPricingEntities)trans.DbContext, tablesetViewId, out _tablesetView); if (!questStatusDef.IsSuccess(status)) { return(status); } tablesetView = new Quest.Functional.MasterPricing.TablesetView(); BufferMgr.TransferBuffer(_tablesetView, tablesetView); } return(new questStatus(Severity.Success)); }
/* Used or useful? */ public questStatus GetColumnInfo(TablesetColumn tablesetColumn, out Column column) { // Initialize questStatus status = null; column = null; DbTablesetTablesMgr dbTablesetTablesMgr = new DbTablesetTablesMgr(this._userSession); DbTablesetViewsMgr dbTablesetViewsMgr = new DbTablesetViewsMgr(this._userSession); TablesetId tablesetId = null; TablesetTable tablesetTable = null; TablesetView tablesetView = null; if (tablesetColumn.EntityTypeId == EntityType.Table) { // Get TablesetTable TablesetTableId tablesetTableId = new TablesetTableId(tablesetColumn.TableSetEntityId); status = dbTablesetTablesMgr.Read(tablesetTableId, out tablesetTable); if (!questStatusDef.IsSuccess(status)) { return(status); } tablesetId = new TablesetId(tablesetTable.TablesetId); } else if (tablesetColumn.EntityTypeId == EntityType.View) { // Get TablesetView TablesetViewId tablesetViewId = new TablesetViewId(tablesetColumn.TableSetEntityId); status = dbTablesetViewsMgr.Read(tablesetViewId, out tablesetView); if (!questStatusDef.IsSuccess(status)) { return(status); } tablesetId = new TablesetId(tablesetView.TablesetId); } else { return(new questStatus(Severity.Error, String.Format("ERROR: unsupported EntityTypeId {0} for TablesetColumn {1}", tablesetColumn.EntityTypeId, tablesetColumn.Id))); } // Get the Tableset DbTablesetsMgr dbTablesetsMgr = new DbTablesetsMgr(this._userSession); Tableset tableset = null; status = dbTablesetsMgr.Read(tablesetId, out tableset); if (!questStatusDef.IsSuccess(status)) { return(status); } // Get the database DatabaseId databaseId = new DatabaseId(tableset.DatabaseId); Quest.Functional.MasterPricing.Database database = null; DbDatabasesMgr dbDatabasesMgr = new DbDatabasesMgr(this._userSession); status = dbDatabasesMgr.Read(databaseId, out database); if (!questStatusDef.IsSuccess(status)) { return(status); } // Get the Table or View by identifier within this database DbTablesMgr dbTablesMgr = new DbTablesMgr(this._userSession); DbViewsMgr dbViewsMgr = new DbViewsMgr(this._userSession); EntityTypeId entityTypeId = null; EntityId entityId = null; if (tablesetColumn.EntityTypeId == EntityType.Table) { TableId tableId = new TableId(); Table table = null; status = dbTablesMgr.Read(databaseId, tablesetTable.Schema, tablesetTable.Name, out table); if (!questStatusDef.IsSuccess(status)) { return(status); } entityTypeId = new EntityTypeId(EntityType.Table); entityId = new EntityId(table.Id); } else if (tablesetColumn.EntityTypeId == EntityType.View) { } // Get column info DbColumnsMgr dbColumnsMgr = new DbColumnsMgr(this._userSession); status = dbColumnsMgr.Read(entityTypeId, entityId, tablesetColumn.Name, out column); if (!questStatusDef.IsSuccess(status)) { return(status); } return(new questStatus(Severity.Success)); }
public questStatus ReadTablesetConfiguration(TablesetId tablesetId, out TablesetConfiguration tablesetConfiguration) { // Initialize questStatus status = null; tablesetConfiguration = null; // Read tableset Tableset tableset = null; DbTablesetsMgr dbTablesetsMgr = new DbTablesetsMgr(this._userSession); status = dbTablesetsMgr.Read(tablesetId, out tableset); if (!questStatusDef.IsSuccess(status)) { return(status); } // Read database DatabaseId databaseId = new DatabaseId(tableset.DatabaseId); Quest.Functional.MasterPricing.Database database = null; DbDatabasesMgr dbDatabasesMgr = new DbDatabasesMgr(this._userSession); status = dbDatabasesMgr.Read(databaseId, out database); if (!questStatusDef.IsSuccess(status)) { return(status); } /* * Load tableset entities. */ DbTablesetColumnsMgr dbTablesetColumnsMgr = new DbTablesetColumnsMgr(this._userSession); // Read tables in tableset List <Quest.Functional.MasterPricing.TablesetTable> tablesetTableList = null; DbTablesetTablesMgr dbTablesetTablesMgr = new DbTablesetTablesMgr(this._userSession); status = dbTablesetTablesMgr.Read(tablesetId, out tablesetTableList); if (!questStatusDef.IsSuccess(status)) { return(status); } // Read table info. EntityType entityType = new EntityType(); entityType.Id = EntityType.Table; DbTablesMgr dbTablesMgr = new DbTablesMgr(this._userSession); DbColumnsMgr dbColumnsMgr = new DbColumnsMgr(this._userSession); foreach (TablesetTable tablesetTable in tablesetTableList) { TablesetId tableSetId = new TablesetId(tablesetTable.Id); List <Quest.Functional.MasterPricing.TablesetColumn> tablesetColumnList = null; TableSetEntityId tableSetEntityId = new TableSetEntityId(tablesetTable.Id); status = dbTablesetColumnsMgr.Read(entityType, tableSetEntityId, out tablesetColumnList); if (!questStatusDef.IsSuccess(status)) { return(status); } tablesetTable.TablesetColumnList = tablesetColumnList; Table table = null; status = dbTablesMgr.Read(databaseId, tablesetTable.Schema, tablesetTable.Name, out table); if (!questStatusDef.IsSuccess(status)) { return(status); } tablesetTable.Table = table; // Get column metadata EntityTypeId entityTypeId = new EntityTypeId(EntityType.Table); EntityId entityId = new EntityId(table.Id); foreach (TablesetColumn tablesetColumn in tablesetColumnList) { Column column = null; status = dbColumnsMgr.Read(entityTypeId, entityId, tablesetColumn.Name, out column); if (!questStatusDef.IsSuccess(status)) { return(status); } tablesetColumn.Column = column; } } // Read views in tableset List <Quest.Functional.MasterPricing.TablesetView> tablesetViewList = null; DbTablesetViewsMgr dbTablesetViewsMgr = new DbTablesetViewsMgr(this._userSession); status = dbTablesetViewsMgr.Read(tablesetId, out tablesetViewList); if (!questStatusDef.IsSuccess(status)) { return(status); } // Read views columns in tableset entityType.Id = EntityType.View; DbViewsMgr dbViewsMgr = new DbViewsMgr(this._userSession); foreach (TablesetView tablesetView in tablesetViewList) { TablesetViewId tablesetViewId = new TablesetViewId(tablesetView.Id); List <Quest.Functional.MasterPricing.TablesetColumn> tablesetColumnList = null; TableSetEntityId tableSetEntityId = new TableSetEntityId(tablesetView.Id); status = dbTablesetColumnsMgr.Read(entityType, tableSetEntityId, out tablesetColumnList); if (!questStatusDef.IsSuccess(status)) { return(status); } tablesetView.TablesetColumnList = tablesetColumnList; View view = null; status = dbViewsMgr.Read(databaseId, tablesetView.Schema, tablesetView.Name, out view); if (!questStatusDef.IsSuccess(status)) { return(status); } tablesetView.View = view; // Get column metadata EntityTypeId entityTypeId = new EntityTypeId(EntityType.View); EntityId entityId = new EntityId(view.Id); foreach (TablesetColumn tablesetColumn in tablesetColumnList) { Column column = null; status = dbColumnsMgr.Read(entityTypeId, entityId, tablesetColumn.Name, out column); if (!questStatusDef.IsSuccess(status)) { return(status); } tablesetColumn.Column = column; } } // Build tableset configuration tablesetConfiguration = new TablesetConfiguration(); tablesetConfiguration.Tableset = tableset; tablesetConfiguration.Database = database; tablesetConfiguration.TablesetTables = tablesetTableList; tablesetConfiguration.TablesetViews = tablesetViewList; return(new questStatus(Severity.Success)); }
public questStatus SaveTablesetConfiguration(TablesetConfiguration tablesetConfiguration, out TablesetId tablesetId) { // Initialize questStatus status = null; tablesetId = null; DbMgrTransaction trans = null; bool bFiltersRemoved = false; questStatus status2 = null; try { // BEGIN TRANSACTION status = BeginTransaction("SaveTablesetConfiguration" + Guid.NewGuid().ToString(), out trans); if (!questStatusDef.IsSuccess(status)) { return(status); } /* * Update tableset info. */ // Read the tableset TablesetsMgr tablesetsMgr = new TablesetsMgr(this.UserSession); TablesetId _tablesetId = new TablesetId(tablesetConfiguration.Tableset.Id); Tableset _tableset = null; status = tablesetsMgr.Read(trans, _tablesetId, out _tableset); if (!questStatusDef.IsSuccess(status)) { RollbackTransaction(trans); return(status); } /* * Remove all tableset entities. */ status = ClearTablesetEntities(trans, _tablesetId); if (!questStatusDef.IsSuccess(status)) { RollbackTransaction(trans); return(status); } // TESTING ONLY: COMMIT TRANSACTION bool bKlugie = false; if (bKlugie) { status = CommitTransaction(trans); if (!questStatusDef.IsSuccess(status)) { return(status); } } /* * Get database entites. */ DatabaseId databaseId = new DatabaseId(tablesetConfiguration.Database.Id); DatabaseMgr databaseMgr = new DatabaseMgr(this.UserSession); DatabaseEntities databaseEntities = null; status = databaseMgr.ReadDatabaseEntities(databaseId, out databaseEntities); if (!questStatusDef.IsSuccess(status)) { RollbackTransaction(trans); return(status); } #region Save tableset info. /* * Save tableset info. */ DbTablesetColumnsMgr dbTablesetColumnsMgr = new DbTablesetColumnsMgr(this.UserSession); // Save table info. DbTablesetTablesMgr dbTablesetTablesMgr = new DbTablesetTablesMgr(this.UserSession); List <TablesetTable> tablesetTableList = new List <TablesetTable>(); foreach (TablesetTable tablesetTable in tablesetConfiguration.TablesetTables) { Table _table = databaseEntities.TableList.Find(delegate(Table t) { return(t.Schema == tablesetTable.Schema && t.Name == tablesetTable.Name); }); if (_table == null) { RollbackTransaction(trans); return(new questStatus(Severity.Error, String.Format("ERROR: tableset table [{0}].[{1}] not found in database metainfo. Try refreshing database schema info", tablesetTable.Schema, tablesetTable.Name))); } tablesetTable.TablesetId = _tableset.Id; tablesetTable.Table = _table; tablesetTableList.Add(tablesetTable); // Create tableset table. TablesetTableId tablesetTableId = null; status = dbTablesetTablesMgr.Create(trans, tablesetTable, out tablesetTableId); if (!questStatusDef.IsSuccess(status)) { RollbackTransaction(trans); return(status); } foreach (Column column in _table.ColumnList) { Column _column = _table.ColumnList.Find(delegate(Column c) { return(c.Name == column.Name); }); if (_column == null) { RollbackTransaction(trans); return(new questStatus(Severity.Error, String.Format("ERROR: column [{0}] not found in table [{1}].[{2}] in database metainfo. Try refreshing database schema info", column.Name, _table.Schema, _table.Name))); } TablesetColumn tablesetColumn = new TablesetColumn(); tablesetColumn.EntityTypeId = EntityType.Table; tablesetColumn.TableSetEntityId = tablesetTableId.Id; tablesetColumn.Name = column.Name; TablesetColumnId tablesetColumnId = null; status = dbTablesetColumnsMgr.Create(trans, tablesetColumn, out tablesetColumnId); if (!questStatusDef.IsSuccess(status)) { RollbackTransaction(trans); return(status); } } } // Save view info. DbTablesetViewsMgr dbTablesetViewsMgr = new DbTablesetViewsMgr(this.UserSession); List <TablesetView> tablesetViewList = new List <TablesetView>(); foreach (TablesetView tablesetView in tablesetConfiguration.TablesetViews) { View _view = databaseEntities.ViewList.Find(delegate(View v) { return(v.Schema == tablesetView.Schema && v.Name == tablesetView.Name); }); if (_view == null) { RollbackTransaction(trans); return(new questStatus(Severity.Error, String.Format("ERROR: tableset view [{0}].[{1}] not found in database metainfo. Try refreshing database schema info", tablesetView.Schema, tablesetView.Name))); } tablesetView.TablesetId = _tableset.Id; tablesetView.View = _view; tablesetViewList.Add(tablesetView); // Create tableset view. TablesetViewId tablesetViewId = null; status = dbTablesetViewsMgr.Create(trans, tablesetView, out tablesetViewId); if (!questStatusDef.IsSuccess(status)) { RollbackTransaction(trans); return(status); } foreach (Column column in _view.ColumnList) { Column _column = _view.ColumnList.Find(delegate(Column c) { return(c.Name == column.Name); }); if (_column == null) { RollbackTransaction(trans); return(new questStatus(Severity.Error, String.Format("ERROR: column [{0}] not found in view [{1}].[{2}] in database metainfo. Try refreshing database schema info", column.Name, _view.Schema, _view.Name))); } TablesetColumn tablesetColumn = new TablesetColumn(); tablesetColumn.EntityTypeId = EntityType.View; tablesetColumn.TableSetEntityId = tablesetViewId.Id; tablesetColumn.Name = column.Name; TablesetColumnId tablesetColumnId = null; status = dbTablesetColumnsMgr.Create(trans, tablesetColumn, out tablesetColumnId); if (!questStatusDef.IsSuccess(status)) { RollbackTransaction(trans); return(status); } } } #endregion // Update tableset. bFiltersRemoved = false; _tableset.DatabaseId = tablesetConfiguration.Database.Id; status2 = tablesetsMgr.Update(trans, _tableset); if (!questStatusDef.IsSuccess(status2)) { if (questStatusDef.IsWarning(status2)) { bFiltersRemoved = true; } else { RollbackTransaction(trans); return(status); } } // COMMIT TRANSACTION status = CommitTransaction(trans); if (!questStatusDef.IsSuccess(status)) { return(status); } // Return the tableset id tablesetId = new TablesetId(tablesetConfiguration.Tableset.Id); } catch (System.Exception ex) { if (trans != null) { RollbackTransaction(trans); } return(new questStatus(Severity.Fatal, String.Format("EXCEPTION: {0}.{1}: {2}", this.GetType().Name, MethodBase.GetCurrentMethod().Name, ex.InnerException != null ? ex.InnerException.Message : ex.Message))); } if (bFiltersRemoved) { return(status2); } return(new questStatus(Severity.Success)); }
public questStatus Create(DbMgrTransaction trans, Quest.Functional.MasterPricing.TablesetView tablesetView, out TablesetViewId tablesetViewId) { // Initialize questStatus status = null; tablesetViewId = null; // Data rules. // Create the tablesetView in this transaction. status = create((MasterPricingEntities)trans.DbContext, tablesetView, out tablesetViewId); if (!questStatusDef.IsSuccess(status)) { return(status); } return(new questStatus(Severity.Success)); }
/*================================================================================================================================== * Properties *=================================================================================================================================*/ #endregion #region Public Methods /*================================================================================================================================== * Public Methods *=================================================================================================================================*/ public questStatus Create(Quest.Functional.MasterPricing.TablesetView tablesetView, out TablesetViewId tablesetViewId) { // Initialize questStatus status = null; tablesetViewId = null; // Data rules. // Create the tablesetView using (MasterPricingEntities dbContext = new MasterPricingEntities()) { status = create(dbContext, tablesetView, out tablesetViewId); if (!questStatusDef.IsSuccess(status)) { return(status); } } return(new questStatus(Severity.Success)); }