예제 #1
0
        /// <summary>
        /// Returns true if the script has already been run sucessfully.
        /// </summary>
        /// <returns></returns>
        public bool AlreadyRun()
        {
            bool           Ret = false;
            CswTableSelect ts  = _CswNbtSchemaModTrnsctn.makeCswTableSelect("HasScriptAlreadyRun", "update_history");
            DataTable      dt  = ts.getTable("where scriptname = '" + _CswUpdateSchemaTo.ScriptName + "' and succeeded = 1");

            if (dt.Rows.Count > 0)
            {
                Ret = true;
            }

            return(Ret);
        }//AlreadyRun()
예제 #2
0
        } // _addDefinitionEntries();

        /// <summary>
        /// Check for existence of a definition entry in a schema script before adding bindings.
        /// </summary>
        /// <param name="CswNbtSchemaModTrnsctn"></param>
        /// <param name="ImportDefinitionName"></param>
        /// <returns></returns>
        public static bool checkForDefinitionEntries(CswNbtSchemaModTrnsctn CswNbtSchemaModTrnsctn, string ImportDefinitionName)
        {
            bool Ret = false;

            CswTableSelect importDefSelect = CswNbtSchemaModTrnsctn.makeCswTableSelect("CswNbtImportDef_findDefinitionEntry", CswNbtImportTables.ImportDef.TableName);
            DataTable      importDefTable  = importDefSelect.getTable("where definitionname = '" + ImportDefinitionName + "'");

            if (importDefTable.Rows.Count > 0)
            {
                Ret = true;
            }

            return(Ret);
        }
예제 #3
0
        }//deleteArbitraryTableData()

        public void addArbitraryForeignKeyRecords(string PkTable, string FkTable, string ReferenceColumnName, string FkTableArbitraryValueColumnName, string FkTableValueStem)
        {
            CswTableSelect PkTableSelect = _CswNbtSchemaModTrnsctn.makeCswTableSelect("addArbitraryForeignKeyRecords_pktable_select", PkTable);
            DataTable      PkTableTable  = PkTableSelect.getTable();


            CswTableUpdate FkTableUpdate  = _CswNbtSchemaModTrnsctn.makeCswTableUpdate("addArbitraryForeignKeyRecords_fktable_update", FkTable);
            DataTable      FkTableTable   = FkTableUpdate.getTable();
            Int32          ArbitraryValue = 0;

            foreach (DataRow CurrentRow in PkTableTable.Rows)
            {
                Int32 PkTablePk = CswConvert.ToInt32(CurrentRow[ReferenceColumnName]);

                DataRow NewFkTableRow = FkTableTable.NewRow();
                NewFkTableRow[ReferenceColumnName]             = PkTablePk;
                NewFkTableRow[FkTableArbitraryValueColumnName] = FkTableValueStem + ": " + (++ArbitraryValue).ToString();
                FkTableTable.Rows.Add(NewFkTableRow);
            }

            FkTableUpdate.update(FkTableTable);
        }//addArbitraryForeignKeyRecords()
예제 #4
0
        } // addOrderEntries()

        /// <summary>
        /// // first get importdefid from import_def
        // then get each row from import_order that has above importdefid
        // iterate rows, change order column value
        /// </summary>
        /// <param name="CswNbtResources"></param>
        public static void updateOrderEntries(CswNbtSchemaModTrnsctn CswNbtSchemaModTrnsctn)
        {
            Dictionary <string, Int32> CafImportOrder = CswNbtCAFImportOrder.CAFOrder;

            CswTableSelect TblSelect1     = CswNbtSchemaModTrnsctn.makeCswTableSelect("get_caf_importdefid", CswNbtImportTables.ImportDef.TableName);
            DataTable      ImportDefDt    = TblSelect1.getTable("where " + CswNbtImportTables.ImportDef.definitionname + " = 'CAF'");
            Int32          CAFImportDefId = Int32.MinValue;

            if (ImportDefDt.Rows.Count > 0)
            {
                CAFImportDefId = CswConvert.ToInt32(ImportDefDt.Rows[0][CswNbtImportTables.ImportDef.importdefid]);
            }
            CswTableUpdate TblUpdate1    = CswNbtSchemaModTrnsctn.makeCswTableUpdate("update_import_order_caf", CswNbtImportTables.ImportDefOrder.TableName);
            DataTable      ImportOrderDt = TblUpdate1.getTable("where " + CswNbtImportTables.ImportDefOrder.importdefid + " = " + CAFImportDefId);

            foreach (DataRow CurrentRow in ImportOrderDt.Rows)
            {
                string currentNt = CswConvert.ToString(CurrentRow[CswNbtImportTables.ImportDefOrder.nodetypename]);
                Int32  newOrder  = CafImportOrder[currentNt];
                CurrentRow[CswNbtImportTables.ImportDefOrder.importorder] = newOrder;
            }
            TblUpdate1.update(ImportOrderDt);
        }