/// <summary> /// Gets and returns a list of all entries stored on database. /// </summary> /// <returns>THe list of newly formed HistoryEntry objects with the stored data.</returns> public List <HistoryEntry> GetEntries() { string selectValues = "SELECT * FROM " + TableName + ";"; List <HistoryEntry> entries = new List <HistoryEntry>(); using (SqliteConnection database = new SqliteConnection($"Filename={DatabasePath}")) { database.Open(); SqliteDataReader rows = new SqliteCommand(selectValues, database).ExecuteReader(); while (rows.Read()) { string rawEntryData = rows.GetString(0) + "," + rows.GetString(1) + "," + rows.GetString(2) + "," + rows.GetString(3) + "," + rows.GetString(4) + "," + rows.GetString(5) + "," + rows.GetString(6); HistoryEntry entry = HistoryEntry.OfRaw(rawEntryData); entry.Id = long.Parse(rows.GetString(0)); entries.Add(entry); } database.Close(); } return(entries); }
/// <summary> /// Gets the latest entry stored on database. /// </summary> /// <returns>The latest entry on databse or null if there's no entry.</returns> private HistoryEntry GetLatestEntry() { string selectLastValue = "SELECT * FROM " + TableName + " WHERE id = (SELECT MAX(id) FROM " + TableName + ")"; using (SqliteConnection database = new SqliteConnection($"Filename={DatabasePath}")) { database.Open(); SqliteDataReader row = new SqliteCommand(selectLastValue, database).ExecuteReader(); if (!row.HasRows) { return(null); } else { string rawData = ""; while (row.Read()) { rawData = row.GetString(0) + "," + row.GetString(1) + "," + row.GetString(2) + "," + row.GetString(3) + "," + row.GetString(4) + "," + row.GetString(5) + "," + row.GetString(6); } return(HistoryEntry.OfRaw(rawData)); } } }