/// <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()
} // _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); }
}//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()
} // 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); }