Implemented initial MongoDB driver

- FireLance DatabaseConnection implementation
- Crude test importing from GSMParser to FireLance DB.
This commit is contained in:
2020-06-30 20:46:42 +01:00
parent 0a25a405ca
commit 49b5e54c31
10 changed files with 182 additions and 67 deletions
+50
View File
@@ -0,0 +1,50 @@
using Microsoft.Data.Sqlite;
using System;
using System.Collections.Generic;
using System.IO;
using Dapper;
using FireLance.Interfaces;
namespace GSMParser
{
public class DatabaseConnection : IDatabaseConnection
{
private SqliteConnection DBConnection = new SqliteConnection();
public void OpenConnection(string dbLocation, int port)
{
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 bool IsConnectionOpen()
{
return Convert.ToBoolean(DBConnection.State);
}
public IEnumerable<IGameEntryModel> QueryGameById(string id)
{
return DBConnection.Query<GameEntryModel>(QueryBuilder.GameEntryByGameId(id), new DynamicParameters());
}
public IEnumerable<IDirectoriesModel> QueryDirectoryById(string id)
{
return DBConnection.Query<DirectoriesModel>(QueryBuilder.DirectoryByGameId(id), new DynamicParameters());
}
public IEnumerable<IGameEntryModel> QueryGameByName(string name)
{
return DBConnection.Query<GameEntryModel>(QueryBuilder.GameEntryByName(name), new DynamicParameters());
}
}
}
-47
View File
@@ -1,47 +0,0 @@
using Microsoft.Data.Sqlite;
using System;
using System.Collections.Generic;
using System.IO;
using Dapper;
using FireLance.Interfaces;
public class GSMParser : IDatabaseConnection
{
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 bool IsConnectionOpen()
{
return Convert.ToBoolean(DBConnection.State);
}
public IEnumerable<IGameEntryModel> QueryGameById(string id)
{
return DBConnection.Query<GameEntryModel>(QueryBuilder.GameEntryByGameId(id), new DynamicParameters());
}
public IEnumerable<IDirectoriesModel> QueryDirectoryById(string id)
{
return DBConnection.Query<DirectoriesModel>(QueryBuilder.DirectoryByGameId(id), new DynamicParameters());
}
public IEnumerable<IGameEntryModel> QueryGameByName(string name)
{
return DBConnection.Query<GameEntryModel>(QueryBuilder.GameEntryByName(name), new DynamicParameters());
}
}