private bool NavObjectContainsKeyWord(NAVObject navObj) { bool found = false; foreach (string k in TopicList) { if (navObj.FieldName.ToUpper().Contains(k)) { found = true; break; } } return(found); }
private NAVObject GetKeyNavObject(int tableNo) { NAVObject keyDefinition = null; List <NAVObject> navObjects = ObjData[tableNo]; foreach (NAVObject navObj in navObjects) { if (navObj.Id.ToUpper() == "K") { keyDefinition = navObj; break; } } return(keyDefinition); }
private DynamicSQLConnection ParseDictionaryTable(DynamicSQLConnection dynSQLConnection, NAVObject navObj, string key) { try { dynSQLConnection = new DynamicSQLConnection(GetConnectionStringTarget(), GetConnectionStringSource()); SqlCommand SQLCmd = new SqlCommand(); // TODO: replace more than that.. SQLCmd.CommandText = string.Format("SELECT [{0}] FROM[DDC_Dictionary].[dbo].[CRONUS AG${1}]", navObj.FieldName, navObj.TableName); SQLCmd.CommandType = CommandType.Text; SQLCmd.Connection = dynSQLConnection.SqlConnectionSource; SQLCmd.CommandTimeout = 0; dynSQLConnection.SqlConnectionSource.Open(); SqlDataReader sqlReader = SQLCmd.ExecuteReader(); if (sqlReader.HasRows) { DataTable dt = new DataTable(); dt.Load(sqlReader); List <string> result = new List <string>(); foreach (var r in dt.AsEnumerable()) { result.Add(r.ItemArray[0].ToString()); } if (result != null) { _conversionValues.Add(key, result); navObj.NewValue = true; } } } catch (Exception ex) { ex.ToString(); } finally { try { dynSQLConnection.CloseAllConnections(); } catch (Exception) { } } return(dynSQLConnection); }
private void UpdateTargetData(NAVObject navObj, string key) { NAVObject keyNavObject = GetKeyNavObject(navObj.TableNo); if (keyNavObject != null) { //TODO: Parse Key String (can have ",") DynamicSQLConnection dynSQLConnection = null; try { dynSQLConnection = new DynamicSQLConnection(GetConnectionStringTarget(), GetConnectionStringSource()); SqlCommand SQLCmd = new SqlCommand(); // TODO: replace more than that.. SQLCmd.CommandText = string.Format("SELECT [{1}], [{0}] FROM[AGM_Durmont_2018].[dbo].[CRONUS AG${2}]", navObj.FieldName, keyNavObject.FieldName, navObj.TableName); SQLCmd.CommandType = CommandType.Text; SQLCmd.Connection = dynSQLConnection.SqlConnectionTarget; SQLCmd.CommandTimeout = 0; dynSQLConnection.SqlConnectionSource.Open(); SqlDataReader sqlReader = SQLCmd.ExecuteReader(); if (sqlReader.HasRows) { DataTable dt = new DataTable(); dt.Load(sqlReader); List <string> result = new List <string>(); foreach (var r in dt.AsEnumerable()) { result.Add(r.ItemArray[0].ToString()); // TODO: UPDATE Query HERE } if (result != null) { //_conversionValues.Add(key, result); //navObj.NewValue = true; } } //dynSQLConnection = new DynamicSQLConnection(GetConnectionStringTarget(), GetConnectionStringSource()); //SqlCommand SQLCmd = new SqlCommand(); //// TODO: replace more than that.. //SQLCmd.CommandText = string.Format("UPDATE [AGM_Durmont_2018].[dbo].[CRONUS AG${1}] SET [{0}] = '{2}'", navObj.FieldName, navObj.TableName, GetRandomValue(key)); //SQLCmd.CommandType = CommandType.Text; //SQLCmd.Connection = dynSQLConnection.SqlConnectionTarget; //SQLCmd.CommandTimeout = 0; //dynSQLConnection.SqlConnectionSource.Open(); //SqlDataReader sqlReader = SQLCmd.ExecuteReader(); //if (sqlReader.HasRows) //{ // DataTable dt = new DataTable(); // dt.Load(sqlReader); // List<string> result = new List<string>(); // foreach (var r in dt.AsEnumerable()) // { // result.Add(r.ItemArray[0].ToString()); // } // if (result != null) // { // _conversionValues.Add(key, result); // navObj.NewValue = true; // } //} } catch (Exception ex) { ex.ToString(); } finally { try { dynSQLConnection.CloseAllConnections(); } catch (Exception) { } } } }