using Microsoft.Data.Sqlite; using System; using System.Collections.Generic; using System.IO; using Dapper; public class GSMParser { 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 string GetConnectionState() { return Convert.ToString(DBConnection.State); } public List QueryGameById(string id) { return (List)DBConnection.Query(QueryBuilder.GameById(id), new DynamicParameters()); } public List QueryDirectoryById(string id) { return (List)DBConnection.Query(QueryBuilder.DirectoryById(id), new DynamicParameters()); } public List QueryGameByName(string name) { return (List) DBConnection.Query(QueryBuilder.GameByName(name), new DynamicParameters()); } }