Made GSM library consistent with Firelance.

This commit is contained in:
2020-07-04 20:18:20 +01:00
parent 883cc34000
commit b6ce28a121
5 changed files with 36 additions and 13 deletions
+6 -4
View File
@@ -10,7 +10,8 @@ namespace DevConsole
{
class Program
{
public static readonly GsmRO gsmRO = new GsmRO();
public static GsmMgr gsmMgr = new GsmMgr();
public static GsmRO gsmRO;
public static FirelanceMgr flcMgr = new FirelanceMgr();
public static FirelanceCRUD flcCRUD;
@@ -56,8 +57,9 @@ namespace DevConsole
private static void ConnectToGsmDb()
{
gsmRO.OpenConnection(@"C:\Users\Dunestorm\Projects\FireLance\GSMParser\games.db", 0);
Console.WriteLine($"GSMParser Connection State: {gsmRO.IsConnectionOpen()}");
gsmMgr.OpenConnection(@"C:\Users\Dunestorm\Projects\FireLance\GSMParser\games.db", 0);
gsmRO = new GsmRO(gsmMgr.Database);
Console.WriteLine($"GSMParser Connection State: {gsmMgr.IsConnectionOpen()}");
}
private static void ConnectToFirelanceManager()
@@ -88,7 +90,7 @@ namespace DevConsole
ConnectToGsmDb();
break;
case "B":
gsmRO.CloseCurrentConnection();
gsmMgr.CloseCurrentConnection();
break;
case "C":
ConnectToFirelanceManager();
+1 -1
View File
@@ -7,7 +7,7 @@ namespace FireLance
{
public class FirelanceCRUD : IFlcMongoDBConnecton
{
public IMongoDatabase Database { get; set; }
public IMongoDatabase Database { get; private set; }
public FirelanceCRUD(IMongoDatabase db)
{
Database = db;
+7 -6
View File
@@ -2,12 +2,13 @@
using System;
using System.IO;
using FireLance.Interfaces;
using GSMParser.Inferfaces;
namespace Gsm
{
public abstract class GsmDB : IFlcBaseDBConnection
public class GsmMgr : IFlcBaseDBConnection, IGsmSqliteDBConnection
{
internal SqliteConnection DBConnection = new SqliteConnection();
public SqliteConnection Database { get; private set; }
public void OpenConnection(string dbLocation, int port)
{
@@ -16,18 +17,18 @@ namespace Gsm
throw new FileNotFoundException(dbLocation);
}
DBConnection = new SqliteConnection($"Data Source={dbLocation};Mode=ReadOnly");
DBConnection.Open();
Database = new SqliteConnection($"Data Source={dbLocation};Mode=ReadOnly");
Database.Open();
}
public void CloseCurrentConnection()
{
DBConnection.Close();
Database.Close();
}
public bool IsConnectionOpen()
{
return Convert.ToBoolean(DBConnection.State);
return Convert.ToBoolean(Database.State);
}
}
}
+10 -2
View File
@@ -1,9 +1,11 @@
using Dapper;
using GSMParser.Inferfaces;
using Microsoft.Data.Sqlite;
using System.Collections.Generic;
namespace Gsm
{
public class GsmRO : GsmDB
public class GsmRO : IGsmSqliteDBConnection
{
public static class Tables
{
@@ -19,6 +21,12 @@ namespace Gsm
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}\",*" +
@@ -34,7 +42,7 @@ namespace Gsm
command += $"LIKE \"%{query}%\"";
}
return (List<T>) DBConnection.Query<T>(command, new DynamicParameters());
return (List<T>) Database.Query<T>(command, new DynamicParameters());
}
}
}
@@ -0,0 +1,12 @@
using Microsoft.Data.Sqlite;
using System;
using System.Collections.Generic;
using System.Text;
namespace GSMParser.Inferfaces
{
public interface IGsmSqliteDBConnection
{
public SqliteConnection Database { get; }
}
}