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 -8
View File
@@ -1,4 +1,5 @@
using FireLance.Interfaces;
using FireLance.Model;
using System;
using System.Collections.Generic;
@@ -6,24 +7,23 @@ namespace DevConsole
{
class Program
{
public static GSMParser gsmParser = new GSMParser();
public static GSMParser.DatabaseConnection gsmParser = new GSMParser.DatabaseConnection();
public static FireLance.DatabaseConnection flcParser = new FireLance.DatabaseConnection();
static void Main(string[] args)
{
while (true)
{
Console.WriteLine($"Connection State: {gsmParser.IsConnectionOpen()}");
CommandsMenu();
}
while (true) { CommandsMenu(); }
}
private static void CommandsMenu()
{
Console.WriteLine("Please select an option below:\n");
Console.WriteLine("A. Database connection");
Console.WriteLine("A. GSMParser Database connection");
Console.WriteLine("B. Query game by ID");
Console.WriteLine("C. Query directory by ID");
Console.WriteLine("D. Query game by NAME");
Console.WriteLine("E. FireLance Database connection");
Console.WriteLine("F. FireLance Import Predefined SaveData Entry");
Console.WriteLine("X. Exit application\n");
Console.Write(":");
@@ -44,6 +44,12 @@ namespace DevConsole
case ConsoleKey.D:
OptionD();
break;
case ConsoleKey.E:
OptionE();
break;
case ConsoleKey.F:
OptionF();
break;
case ConsoleKey.X:
Environment.Exit(0);
break;
@@ -66,12 +72,14 @@ namespace DevConsole
{
case ConsoleKey.A:
Console.WriteLine("Connect to database");
gsmParser.OpenConnection(@"C:\Users\Dunestorm\Projects\FireLance\GSMParser\games.db");
gsmParser.OpenConnection(@"C:\Users\Dunestorm\Projects\FireLance\GSMParser\games.db", 0);
break;
case ConsoleKey.B:
gsmParser.CloseCurrentConnection();
break;
}
Console.WriteLine($"GSMParser Connection State: {gsmParser.IsConnectionOpen()}\n");
}
private static void OptionB()
@@ -100,6 +108,40 @@ namespace DevConsole
PrintGameEntries(gsmParser.QueryGameByName(r));
}
private static void OptionE()
{
Console.WriteLine("A. Open DB");
Console.WriteLine("B. Close DB");
Console.Write(":");
var userInput = Console.ReadKey();
Console.Write("\n\n");
switch (userInput.Key)
{
case ConsoleKey.A:
Console.WriteLine("Connect to database");
flcParser.OpenConnection("sr3", 27017);
break;
case ConsoleKey.B:
flcParser.CloseCurrentConnection();
break;
}
Console.WriteLine($"FireLance Connection State: {flcParser.IsConnectionOpen()}\n");
}
private static void OptionF()
{
Guid guid = Guid.NewGuid();
IEnumerable<IDirectoriesModel> dm = gsmParser.QueryDirectoryById("600");
foreach (var entry in dm)
{
entry.Path = guid.ToString();
flcParser.InsertRecord("SaveData", entry);
}
}
#endregion
private static void PrintGameEntries(IEnumerable<IGameEntryModel> gameEntries)