示例#1
0
 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);
         }
     }
 }
示例#2
0
        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);
        }
示例#3
0
        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;
                        }
                    }
                }
            }
        }