public void DeleteMarketData(Int32 days)
{
String sqlString;
Int32 deletedRows = 0;
Int32 deletedRowsSum = 0;
Int32 rowsToDelete;
sqlString = String.Format("select count(*) from tbcommoditydata" +
" where timestamp <= (NOW() - INTERVAL {0} DAY)",
days);
rowsToDelete = Program.DBCon.Execute<Int32>(sqlString);
sqlString = String.Format("delete from tbcommoditydata" +
" where timestamp <= (NOW() - INTERVAL {0} DAY)" +
" limit 10000",
days);
sendProgressEvent(new ProgressEventArgs() { Info=String.Format("deleting prices older than {0} days from database...", days), CurrentValue=0, TotalValue=rowsToDelete, AddSeparator=true });
do
{
deletedRows = Program.DBCon.Execute(sqlString);
deletedRowsSum += deletedRows;
if(sendProgressEvent(new ProgressEventArgs() { Info=String.Format("deleting prices older than {0} days from database...", days), CurrentValue=deletedRowsSum, TotalValue = rowsToDelete }))
break;
} while (deletedRows > 0);
sendProgressEvent(new ProgressEventArgs() { Info=String.Format("deleting prices older than {0} days from database...", days), CurrentValue=deletedRowsSum, TotalValue = rowsToDelete, ForceRefresh=true });
}