47 lines
1.3 KiB
C#
47 lines
1.3 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 ReportConnectionState()
|
|
{
|
|
return Convert.ToString(DBConnection.State);
|
|
}
|
|
|
|
public List<GameEntryModal> QueryGameById(string id)
|
|
{
|
|
return (List<GameEntryModal>)DBConnection.Query<GameEntryModal>(QueryBuilder.GameEntryByGameId(id), new DynamicParameters());
|
|
}
|
|
|
|
public List<DirectoriesModel> QueryDirectoryById(string id)
|
|
{
|
|
return (List<DirectoriesModel>)DBConnection.Query<DirectoriesModel>(QueryBuilder.DirectoryByGameId(id), new DynamicParameters());
|
|
}
|
|
|
|
public List<GameEntryModal> QueryGameByName(string name)
|
|
{
|
|
return (List<GameEntryModal>) DBConnection.Query<GameEntryModal>(QueryBuilder.GameEntryByName(name), new DynamicParameters());
|
|
}
|
|
}
|