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}  = ? 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(_dbFileFullPath))
                {
                    using (var statement = connection.Prepare(sqlCommand))
                    {
                        statement.Bind(1, appID);
                        while (statement.Step() == SQLiteResult.ROW)
                        {
                            JsonData data = new JsonData();
                            data["id"]    = statement.GetText(EVENT_ID_COLUMN_NAME);
                            data["event"] = statement.GetText(EVENT_COLUMN_NAME.ToLower());
                            data["appID"] = statement.GetText(MA_APP_ID_COLUMN_NAME);
                            eventList.Add(data);
                        }
                    }
                }
            }
            return(eventList);
        }
Beispiel #2
0
        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=" + _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);
        }