public void DynDefaultValues(FileManager fm, DataRow dr, appDB.ddTableRow myDefinition) { //check for defined fields that have a systemdefault value foreach (appDB.ddFieldRow dfr in myDefinition.GetddFieldRows()) { if (!dfr.IsDefaultSystemValueNull()) { dr[dfr.DBFieldName] = fm.GetDefaultValue(dfr.DefaultSystemValue); } } }
public string CreateSQLView(appDB.ddTableRow dtr) { string sql = "DROP VIEW dbo.vdde" + dtr.TableName + Environment.NewLine; sql += "CREATE VIEW dbo.vdde" + dtr.TableName + Environment.NewLine + "AS SELECT " + Environment.NewLine; foreach (appDB.ddFieldRow dfr in dtr.GetddFieldRows()) { if (dfr.AllowInRelatedFields) { sql += dfr.DBFieldName + " AS " + dfr.FieldName + ", " + Environment.NewLine; } } sql += "entryUser,entryDate,updateUser,updateDate " + Environment.NewLine; sql += "FROM dbo.[ddEntity] " + Environment.NewLine; sql += "WHERE tableid=" + dtr.TableId.ToString() + Environment.NewLine; sql += "GO" + Environment.NewLine; sql += "GRANT SELECT ON dbo.vdde" + dtr.TableName + " TO LAWMATEINTERNAL"; return(sql); }
public void Populate(appDB.ddTableRow drTable) { DataTable dtTyped = null; try { atLogic.BEManager mngr = myA.GetFile(0).GetBEMngrForTable(drTable.DBTableName); dtTyped = mngr.MyDS.Tables[drTable.DBTableName]; } catch (Exception x) { //ignore } DataTable dtViews = myA.GetGeneralRec("select * from information_schema.columns where table_schema='dbo' and table_name='v" + drTable.DBTableName + "' "); DataTable dtTable = myA.GetGeneralRec("select * from information_schema.columns where table_schema='dbo' and table_name='" + drTable.DBTableName + "' "); if (dtTable.Rows.Count == 0) { drTable.isDBTable = false; } else { drTable.isDBTable = true; } if (dtTyped != null) { foreach (DataColumn dc in dtTyped.Columns) { appDB.ddFieldRow drField; if (myA.DB.ddField.Select("Tableid=" + drTable.TableId.ToString() + " and DBFieldName='" + dc.ColumnName + "'").Length == 0) { drField = (appDB.ddFieldRow)Add(drTable); drField.FieldName = dc.ColumnName; drField.DBFieldName = dc.ColumnName; if (drTable.isDynamic) { drField.AllowInRelatedFields = false; } } else { drField = (appDB.ddFieldRow)myA.DB.ddField.Select("Tableid=" + drTable.TableId.ToString() + " and DBFieldName='" + dc.ColumnName + "'")[0]; } drField.isMissing = true; drField.DataType = dc.DataType.Name; if (drField.IsLeftEngNull()) { drField.LeftEng = SplitCamelCase(drField.FieldName); drField.LeftFre = SplitCamelCase(drField.FieldName); } if (dtViews.Select("Column_name='" + dc.ColumnName + "'", "").Length == 0) { drField.isVirtualColumn = true; } else { drField.isMissing = false; drField.isVirtualColumn = false; } if (!drField.isVirtualColumn && dtTable.Select("Column_name='" + dc.ColumnName + "'", "").Length == 0) { drField.isFromView = true; } else { drField.isMissing = false; drField.isFromView = false; } } //check for "obsolete" columns foreach (appDB.ddFieldRow drf in drTable.GetddFieldRows()) { if (!dtTyped.Columns.Contains(drf.DBFieldName)) { drf.AllowInRelatedFields = false; drf.DescEng = "OBSOLETE"; } } } else { foreach (DataRow dr in dtViews.Rows) { if (myA.DB.ddField.Select("Tableid=" + drTable.TableId.ToString() + " and DBFieldName='" + dr["Column_name"].ToString() + "'").Length == 0) { appDB.ddFieldRow drField = (appDB.ddFieldRow)Add(drTable); drField.FieldName = dr["Column_name"].ToString(); if (dtTable.Select("Column_name='" + drField.FieldName + "'", "").Length == 0) { drField.isFromView = true; drField.isMissing = false; } } } } }