using Microsoft.Data.Sqlite; using System; using System.Collections.Generic; using System.IO; using Dapper; using FireLance.Interfaces; public class GSMParser : IDatabaseConnection { private SqliteConnection DBConnection = new SqliteConnection(); public void OpenConnection(string dbLocation) { if (File.Exists(dbLocation) == false) { throw new FileNotFoundException(dbLocation); } DBConnection = new SqliteConnection($"Data Source={dbLocation};Mode=ReadOnly"); DBConnection.Open(); } public void CloseCurrentConnection() { DBConnection.Close(); } public bool IsConnectionOpen() { return Convert.ToBoolean(DBConnection.State); } public IEnumerable QueryGameById(string id) { return DBConnection.Query(QueryBuilder.GameEntryByGameId(id), new DynamicParameters()); } public IEnumerable QueryDirectoryById(string id) { return DBConnection.Query(QueryBuilder.DirectoryByGameId(id), new DynamicParameters()); } public IEnumerable QueryGameByName(string name) { return DBConnection.Query(QueryBuilder.GameEntryByName(name), new DynamicParameters()); } }