InsiderTransactions refactorings.

This commit is contained in:
2024-02-26 19:48:35 -05:00
parent dc73a51156
commit 661bd3d7ec
7 changed files with 422 additions and 160 deletions

View File

@@ -173,7 +173,7 @@ namespace MarketData.DataAccess
if(null!=sqlTransaction)sqlTransaction.Dispose();
}
}
private static bool DeleteInsiderTransactions(InsiderTransactions insiderTransactions, MySqlConnection sqlConnection) //, MySqlTransaction sqlTransaction)
private static bool DeleteInsiderTransactions(InsiderTransactions insiderTransactions, MySqlConnection sqlConnection)
{
StringBuilder sb = null;
String strQuery = null;
@@ -210,5 +210,45 @@ namespace MarketData.DataAccess
if(null!=sqlTransaction)sqlTransaction.Dispose();
}
}
/// <summary>
/// Delete InsiderTransaction for given symbol for all years>=given year.
/// </summary>
/// <param name="symbol">The symbol.</param>
/// <param name="yearsGreaterEqual">All years greater then or equal to the year.</param>
public static bool DeleteInsiderTransactionsYearsGreaterEqual(String symbol, int yearsGreaterEqual)
{
MySqlConnection sqlConnection = null;
StringBuilder sb = null;
String strQuery = null;
MySqlTransaction sqlTransaction = null;
try
{
if (null == symbol) return false;
sqlConnection = SqlUtils.CreateMySqlConnection(MainDataSource.Instance.LocateDataSource("market_data"));
sqlTransaction = sqlConnection.BeginTransaction(System.Data.IsolationLevel.ReadCommitted);
sb = new StringBuilder();
sb.Append("DELETE FROM InsiderTransaction WHERE symbol=");
sb.Append("'").Append(symbol).Append("'");
sb.Append(" AND YEAR(filing_date)>=").Append(yearsGreaterEqual);
strQuery = sb.ToString();
MySqlCommand sqlCommand = new MySqlCommand(strQuery, sqlConnection, sqlTransaction);
sqlCommand.CommandTimeout = SqlUtils.COMMAND_TIMEOUT;
sqlCommand.ExecuteNonQuery();
sqlTransaction.Commit();
return true;
}
catch (Exception exception)
{
MDTrace.WriteLine(LogLevel.DEBUG,exception);
if (null != strQuery) MDTrace.WriteLine(LogLevel.DEBUG,"Query was " + strQuery);
return false;
}
finally
{
if(null!=sqlTransaction)sqlTransaction.Dispose();
if(null!=sqlConnection)sqlConnection.Close();
}
}
}
}