Files
FireLance/GSMParser/GsmRO.cs

49 lines
1.5 KiB
C#

using Dapper;
using GSMParser.Inferfaces;
using Microsoft.Data.Sqlite;
using System.Collections.Generic;
namespace Gsm
{
public class GsmRO : IGsmSqliteDBConnection
{
public static class Tables
{
public static string Directories { get { return "Directories"; } }
public static string GameEntry { get { return "GameEntry"; } }
public static string RegistryList { get { return "RegistryList"; } }
}
public static class Columns
{
public static string ID { get { return "id"; } }
public static string GameID { get { return "GameID"; } }
public static string GameName { get { return "GameName"; } }
}
public SqliteConnection Database { get; private set; }
public GsmRO(SqliteConnection db)
{
Database = db;
}
public List<T> LoadRecords<T>(string select, string from, string column, string query, bool exactMatch)
{
string command = $"SELECT \"{select}\",*" +
$"FROM \"main\".\"{from}\"" +
$"WHERE \"{column}\"";
if (exactMatch == true)
{
command += $"LIKE \"{query}\"";
}
else
{
command += $"LIKE \"%{query}%\"";
}
return (List<T>) Database.Query<T>(command, new DynamicParameters());
}
}
}