public ErrorTypes AddRandomKey(string sKey, TaskResultData oTastToAdd, out TaskResultData oTastAdded) { ErrorTypes eError = ErrorTypes.TaskResult; oTastAdded = oTastToAdd.Clone(); try { using (IDbConnection sqlCon = GetDbConnection()) { sqlCon.Open(); while (true) { string sNewKey = sKey + "_" + m_oRandom.Next(mc_nRandomMaxNumber); oTastAdded.sKey = sNewKey; using (IDbCommand oAddCommand = sqlCon.CreateCommand()) { oAddCommand.CommandText = GetINSERTString(oTastAdded); bool bExist = false; try { oAddCommand.ExecuteNonQuery(); } catch { bExist = true; } if (false == bExist) { eError = ErrorTypes.NoError; break; } } } } } catch { eError = ErrorTypes.TaskResult; } if (ErrorTypes.NoError != eError) { oTastAdded = null; } return(eError); }
public void AddRandomKeyBegin(string sKey, TaskResultData oTastToAdd, AsyncCallback fCallback, object oParam) { m_oAddRandomKey = new TransportClass(fCallback, oParam); m_oAddRandomKey.m_oTast = oTastToAdd.Clone(); try { m_oAddRandomKey.m_oSqlCon = GetDbConnection(); m_oAddRandomKey.m_oSqlCon.Open(); string sNewKey = sKey + "_" + m_oRandom.Next(mc_nRandomMaxNumber); m_oAddRandomKey.m_oTast.sKey = sNewKey; IDbCommand oSelCommand = m_oAddRandomKey.m_oSqlCon.CreateCommand(); m_oAddRandomKey.m_oCommand = oSelCommand; oSelCommand.CommandText = GetINSERTString(m_oAddRandomKey.m_oTast); m_oAddRandomKey.m_delegateNonQuery = new ExecuteNonQuery(oSelCommand.ExecuteNonQuery); m_oAddRandomKey.m_delegateNonQuery.BeginInvoke(AddRandomKeyCallback, null); } catch { m_oAddRandomKey.DisposeAndCallback(); } }
public ErrorTypes GetOrCreate(string sKey, TaskResultData oDefaultTast, out TaskResultData oTaskResultData, out bool bCreate) { ErrorTypes eErrorTypes = ErrorTypes.TaskResult; oTaskResultData = null; bCreate = false; try { using (IDbConnection sqlCon = GetDbConnection()) { sqlCon.Open(); bool bEmptyRead = true; using (IDbCommand oSelCommand = sqlCon.CreateCommand()) { oSelCommand.CommandText = GetSELECTString(sKey); using (IDataReader oReader = oSelCommand.ExecuteReader()) { if (true == oReader.Read()) { oTaskResultData = new TaskResultData(); TaskResultFromReader(oTaskResultData, oReader); bEmptyRead = false; bCreate = false; eErrorTypes = ErrorTypes.NoError; } } } if (bEmptyRead) { using (IDbCommand oAddCommand = sqlCon.CreateCommand()) { oAddCommand.CommandText = GetINSERTString(oDefaultTast); bool bExist = false; try { oAddCommand.ExecuteNonQuery(); oTaskResultData = oDefaultTast.Clone(); eErrorTypes = ErrorTypes.NoError; bCreate = true; } catch { bExist = true; } if (bExist) { using (IDbCommand oSelCommand = sqlCon.CreateCommand()) { oSelCommand.CommandText = GetSELECTString(sKey); using (IDataReader oReader = oSelCommand.ExecuteReader()) { if (true == oReader.Read()) { oTaskResultData = new TaskResultData(); TaskResultFromReader(oTaskResultData, oReader); bCreate = false; eErrorTypes = ErrorTypes.NoError; } } } } } } } } catch { } return eErrorTypes; }
public void AddRandomKeyBegin(string sKey, TaskResultData oTastToAdd, AsyncCallback fCallback, object oParam) { m_oAddRandomKey = new TransportClass(fCallback, oParam); m_oAddRandomKey.m_oTast = oTastToAdd.Clone(); try { m_oAddRandomKey.m_oSqlCon = GetDbConnection(); m_oAddRandomKey.m_oSqlCon.Open(); string sNewKey = sKey + "_" + m_oRandom.Next(mc_nRandomMaxNumber); m_oAddRandomKey.m_oTast.sKey = sNewKey; IDbCommand oSelCommand = m_oAddRandomKey.m_oSqlCon.CreateCommand(); m_oAddRandomKey.m_oCommand = oSelCommand; oSelCommand.CommandText = GetINSERTString(m_oAddRandomKey.m_oTast); m_oAddRandomKey.m_delegateNonQuery = new ExecuteNonQuery(oSelCommand.ExecuteNonQuery); m_oAddRandomKey.m_delegateNonQuery.BeginInvoke(AddRandomKeyCallback, null); } catch { m_oAddRandomKey.DisposeAndCallback(); } }
public ErrorTypes AddRandomKey(string sKey, TaskResultData oTastToAdd, out TaskResultData oTastAdded) { ErrorTypes eError = ErrorTypes.TaskResult; oTastAdded = oTastToAdd.Clone(); try { using (IDbConnection sqlCon = GetDbConnection()) { sqlCon.Open(); while (true) { string sNewKey = sKey + "_" + m_oRandom.Next(mc_nRandomMaxNumber); oTastAdded.sKey = sNewKey; using (IDbCommand oAddCommand = sqlCon.CreateCommand()) { oAddCommand.CommandText = GetINSERTString(oTastAdded); bool bExist = false; try { oAddCommand.ExecuteNonQuery(); } catch { bExist = true; } if (false == bExist) { eError = ErrorTypes.NoError; break; } } } } } catch { eError = ErrorTypes.TaskResult; } if (ErrorTypes.NoError != eError) { oTastAdded = null; } return eError; }
public ErrorTypes GetOrCreate(string sKey, TaskResultData oDefaultTast, out TaskResultData oTaskResultData, out bool bCreate) { ErrorTypes eErrorTypes = ErrorTypes.TaskResult; oTaskResultData = null; bCreate = false; try { using (IDbConnection sqlCon = GetDbConnection()) { sqlCon.Open(); if (Constants.mc_sPostgreProvider == Utils.GetDbConnectionProviderName(m_sConnectionString)) { using (IDbCommand oAddCommand = sqlCon.CreateCommand()) { oAddCommand.CommandText = GetINSERTString(oDefaultTast); bool bExist = false; try { oAddCommand.ExecuteNonQuery(); } catch { bExist = true; } if (bExist) { using (IDbCommand oSelCommand = sqlCon.CreateCommand()) { TaskResultDataToUpdate oToUpdate = new TaskResultDataToUpdate(); oToUpdate.oLastOpenDate = DateTime.UtcNow; oSelCommand.CommandText = GetUPDATEString(sKey, oToUpdate) + GetSELECTString(sKey); using (IDataReader oReader = oSelCommand.ExecuteReader()) { if (true == oReader.Read()) { oTaskResultData = new TaskResultData(); TaskResultFromReader(oTaskResultData, oReader); bCreate = false; eErrorTypes = ErrorTypes.NoError; } } } } else { oTaskResultData = oDefaultTast.Clone(); bCreate = true; eErrorTypes = ErrorTypes.NoError; } } } else { using (IDbCommand oAddCommand = sqlCon.CreateCommand()) { oAddCommand.CommandText = GetUPSERTString(oDefaultTast); bool bExist = false; try { int nNumRowsAffected = oAddCommand.ExecuteNonQuery(); oTaskResultData = oDefaultTast.Clone(); eErrorTypes = ErrorTypes.NoError; bCreate = (nNumRowsAffected == 1); bExist = (nNumRowsAffected > 1); } catch { bExist = true; } if (bExist) { using (IDbCommand oSelCommand = sqlCon.CreateCommand()) { oSelCommand.CommandText = GetSELECTString(sKey); using (IDataReader oReader = oSelCommand.ExecuteReader()) { if (true == oReader.Read()) { oTaskResultData = new TaskResultData(); TaskResultFromReader(oTaskResultData, oReader); bCreate = false; eErrorTypes = ErrorTypes.NoError; } } } } } } } } catch { } return(eErrorTypes); }
public ErrorTypes GetOrCreate(string sKey, TaskResultData oDefaultTast, out TaskResultData oTaskResultData, out bool bCreate) { ErrorTypes eErrorTypes = ErrorTypes.TaskResult; oTaskResultData = null; bCreate = false; try { using (IDbConnection sqlCon = GetDbConnection()) { sqlCon.Open(); if (Constants.mc_sPostgreProvider == Utils.GetDbConnectionProviderName(m_sConnectionString)) { using (IDbCommand oAddCommand = sqlCon.CreateCommand()) { oAddCommand.CommandText = GetINSERTString(oDefaultTast); bool bExist = false; try { oAddCommand.ExecuteNonQuery(); } catch { bExist = true; } if (bExist) { using (IDbCommand oSelCommand = sqlCon.CreateCommand()) { TaskResultDataToUpdate oToUpdate = new TaskResultDataToUpdate(); oToUpdate.oLastOpenDate = DateTime.UtcNow; oSelCommand.CommandText = GetUPDATEString(sKey, oToUpdate) + GetSELECTString(sKey); using (IDataReader oReader = oSelCommand.ExecuteReader()) { if (true == oReader.Read()) { oTaskResultData = new TaskResultData(); TaskResultFromReader(oTaskResultData, oReader); bCreate = false; eErrorTypes = ErrorTypes.NoError; } } } } else { oTaskResultData = oDefaultTast.Clone(); bCreate = true; eErrorTypes = ErrorTypes.NoError; } } } else { using (IDbCommand oAddCommand = sqlCon.CreateCommand()) { oAddCommand.CommandText = GetUPSERTString(oDefaultTast); bool bExist = false; try { int nNumRowsAffected = oAddCommand.ExecuteNonQuery(); oTaskResultData = oDefaultTast.Clone(); eErrorTypes = ErrorTypes.NoError; bCreate = (nNumRowsAffected == 1); bExist = (nNumRowsAffected > 1); } catch { bExist = true; } if (bExist) { using (IDbCommand oSelCommand = sqlCon.CreateCommand()) { oSelCommand.CommandText = GetSELECTString(sKey); using (IDataReader oReader = oSelCommand.ExecuteReader()) { if (true == oReader.Read()) { oTaskResultData = new TaskResultData(); TaskResultFromReader(oTaskResultData, oReader); bCreate = false; eErrorTypes = ErrorTypes.NoError; } } } } } } } } catch { } return eErrorTypes; }
public ErrorTypes GetOrCreate(string sKey, TaskResultData oDefaultTast, out TaskResultData oTaskResultData, out bool bCreate) { ErrorTypes eErrorTypes = ErrorTypes.TaskResult; oTaskResultData = null; bCreate = false; try { using (IDbConnection sqlCon = GetDbConnection()) { sqlCon.Open(); bool bEmptyRead = true; using (IDbCommand oSelCommand = sqlCon.CreateCommand()) { oSelCommand.CommandText = GetSELECTString(sKey); using (IDataReader oReader = oSelCommand.ExecuteReader()) { if (true == oReader.Read()) { oTaskResultData = new TaskResultData(); TaskResultFromReader(oTaskResultData, oReader); bEmptyRead = false; bCreate = false; eErrorTypes = ErrorTypes.NoError; } } } if (bEmptyRead) { using (IDbCommand oAddCommand = sqlCon.CreateCommand()) { oAddCommand.CommandText = GetINSERTString(oDefaultTast); bool bExist = false; try { oAddCommand.ExecuteNonQuery(); oTaskResultData = oDefaultTast.Clone(); eErrorTypes = ErrorTypes.NoError; bCreate = true; } catch { bExist = true; } if (bExist) { using (IDbCommand oSelCommand = sqlCon.CreateCommand()) { oSelCommand.CommandText = GetSELECTString(sKey); using (IDataReader oReader = oSelCommand.ExecuteReader()) { if (true == oReader.Read()) { oTaskResultData = new TaskResultData(); TaskResultFromReader(oTaskResultData, oReader); bCreate = false; eErrorTypes = ErrorTypes.NoError; } } } } } } } } catch { } return(eErrorTypes); }