Optimizations
This commit is contained in:
@@ -139,6 +139,48 @@ namespace MarketData.DataAccess
|
||||
if(null!=sqlTransaction) sqlTransaction.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
public static Dictionary<String,bool> HasStopLimit(List<String> symbols)
|
||||
{
|
||||
MySqlConnection sqlConnection=null;
|
||||
MySqlDataReader sqlDataReader=null;
|
||||
MySqlCommand sqlCommand=null;
|
||||
Dictionary<String,bool> hasStopLimit = new Dictionary<String,bool>();
|
||||
|
||||
try
|
||||
{
|
||||
StringBuilder sb=new StringBuilder();
|
||||
if(null==symbols) return null;
|
||||
sqlConnection=SqlUtils.CreateMySqlConnection(MainDataSource.Instance.LocateDataSource("portfolio_data"));
|
||||
sb.Append("select symbol, count(*) from stoplimits ");
|
||||
sb.Append("where symbol in ");
|
||||
sb.Append(SqlUtils.CreateInClause(symbols));
|
||||
sb.Append(" and active=1 group by 1");
|
||||
String strQuery=sb.ToString();
|
||||
sqlCommand=new MySqlCommand(strQuery,sqlConnection);
|
||||
sqlCommand.CommandTimeout=SqlUtils.COMMAND_TIMEOUT;
|
||||
sqlDataReader=sqlCommand.ExecuteReader();
|
||||
while(sqlDataReader.Read())
|
||||
{
|
||||
String symbol = sqlDataReader.GetString(0);
|
||||
symbol = symbol.ToUpper();
|
||||
hasStopLimit.Add(symbol, true);
|
||||
}
|
||||
return hasStopLimit;
|
||||
}
|
||||
catch(Exception exception)
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,exception);
|
||||
return null;
|
||||
}
|
||||
finally
|
||||
{
|
||||
if(null!=sqlCommand) sqlCommand.Dispose();
|
||||
if(null!=sqlDataReader) sqlDataReader.Close();
|
||||
if(null!=sqlConnection) sqlConnection.Close();
|
||||
}
|
||||
}
|
||||
|
||||
public static bool HasStopLimit(String symbol)
|
||||
{
|
||||
MySqlConnection sqlConnection=null;
|
||||
@@ -153,6 +195,7 @@ namespace MarketData.DataAccess
|
||||
sqlConnection=SqlUtils.CreateMySqlConnection(MainDataSource.Instance.LocateDataSource("portfolio_data"));
|
||||
sb.Append("select count(*) from stoplimits ");
|
||||
sb.Append("where symbol='").Append(symbol).Append("'");
|
||||
sb.Append(" and active=1");
|
||||
strQuery=sb.ToString();
|
||||
sqlCommand=new MySqlCommand(strQuery,sqlConnection);
|
||||
sqlCommand.CommandTimeout=SqlUtils.COMMAND_TIMEOUT;
|
||||
|
||||
Reference in New Issue
Block a user