41 lines
1.2 KiB
C#
41 lines
1.2 KiB
C#
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<GameEntry> QueryGameById(string id)
|
|
{
|
|
return (List<GameEntry>)DBConnection.Query<GameEntry>(QueryBuilder.GameById(id), new DynamicParameters());
|
|
}
|
|
|
|
public List<Directories> QueryDirectoryById(string id)
|
|
{
|
|
return (List<Directories>)DBConnection.Query<Directories>(QueryBuilder.DirectoryById(id), new DynamicParameters());
|
|
}
|
|
|
|
public List<GameEntry> QueryGameByName(string name)
|
|
{
|
|
return (List<GameEntry>) DBConnection.Query<GameEntry>(QueryBuilder.GameByName(name), new DynamicParameters());
|
|
}
|
|
}
|