public List<JsonData> GetEvents(string appID, int maxAllowed)
{
List<JsonData> eventList = new List<JsonData>();
string sqlCommand = string.Format(CultureInfo.InvariantCulture, "SELECT * FROM {0} WHERE {1} = @appID ORDER BY {2}, ROWID LIMIT {3} ", TABLE_NAME, MA_APP_ID_COLUMN_NAME, EVENT_DELIVERY_ATTEMPT_COUNT_COLUMN_NAME, maxAllowed);
lock (_lock)
{
using (var connection = new SQLiteConnection("Data Source=" + this.DBfileFullPath + ";Version=3;"))
{
try
{
connection.Open();
using (var command = new SQLiteCommand(sqlCommand, connection))
{
command.Parameters.Add(new SQLiteParameter("@appID", appID));
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
JsonData data = new JsonData();
data["id"] = reader[EVENT_ID_COLUMN_NAME].ToString();
data["event"] = reader[EVENT_COLUMN_NAME.ToUpperInvariant()].ToString();
data["appID"] = reader[MA_APP_ID_COLUMN_NAME].ToString();
eventList.Add(data);
}
}
}
}
finally
{
if (null != connection)
connection.Close();
}
}
}
return eventList;
}