201 lines
7.5 KiB
C#
201 lines
7.5 KiB
C#
using FireLance;
|
|
using FireLance.Models;
|
|
using Gsm;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
|
|
namespace DevConsole
|
|
{
|
|
class Program
|
|
{
|
|
public static readonly GsmRO gsmRO = new GsmRO();
|
|
public static FireLanceCRUD fireLanceCRUD = new FireLanceCRUD();
|
|
|
|
static void Main(string[] args)
|
|
{
|
|
while (true) { CommandsMenu(); }
|
|
}
|
|
|
|
private static void CommandsMenu()
|
|
{
|
|
Console.WriteLine("Please select an option below:\n");
|
|
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(":");
|
|
|
|
var userInput = Console.ReadKey();
|
|
Console.Write("\n\n");
|
|
|
|
switch (userInput.Key)
|
|
{
|
|
case ConsoleKey.A:
|
|
OptionA();
|
|
break;
|
|
case ConsoleKey.B:
|
|
OptionB();
|
|
break;
|
|
case ConsoleKey.C:
|
|
OptionC();
|
|
break;
|
|
case ConsoleKey.D:
|
|
OptionD();
|
|
break;
|
|
case ConsoleKey.E:
|
|
OptionE();
|
|
break;
|
|
case ConsoleKey.F:
|
|
OptionF();
|
|
break;
|
|
case ConsoleKey.X:
|
|
Environment.Exit(0);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
#region Command Options
|
|
private static void OptionA()
|
|
{
|
|
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");
|
|
gsmRO.OpenConnection(@"C:\Users\Dunestorm\Projects\FireLance\GSMParser\games.db", 0);
|
|
break;
|
|
case ConsoleKey.B:
|
|
gsmRO.CloseCurrentConnection();
|
|
break;
|
|
}
|
|
|
|
Console.WriteLine($"GSMParser Connection State: {gsmRO.IsConnectionOpen()}\n");
|
|
}
|
|
|
|
private static void OptionB()
|
|
{
|
|
Console.WriteLine("Enter a game ID:");
|
|
string r = Console.ReadLine();
|
|
Console.Write("\n");
|
|
|
|
PrintGameEntries(gsmRO.LoadRecords<GameEntryModel>( GsmDbStruct.Columns.GameName,
|
|
GsmDbStruct.Tables.GameEntry,
|
|
GsmDbStruct.Columns.ID,
|
|
r,
|
|
true));
|
|
}
|
|
|
|
private static void OptionC()
|
|
{
|
|
Console.WriteLine("Enter a game ID:");
|
|
string r = Console.ReadLine();
|
|
Console.Write("\n");
|
|
|
|
PrintDirectories(gsmRO.LoadRecords<DirectoriesModel>( "*",
|
|
GsmDbStruct.Tables.Directories,
|
|
GsmDbStruct.Columns.GameID,
|
|
r,
|
|
true));
|
|
}
|
|
|
|
private static void OptionD()
|
|
{
|
|
Console.WriteLine("Enter game title to search:");
|
|
string r = Console.ReadLine();
|
|
Console.Write("\n");
|
|
|
|
PrintGameEntries(gsmRO.LoadRecords<GameEntryModel>( GsmDbStruct.Columns.GameName,
|
|
GsmDbStruct.Tables.GameEntry,
|
|
GsmDbStruct.Columns.GameName,
|
|
r,
|
|
false));
|
|
}
|
|
|
|
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");
|
|
fireLanceCRUD.OpenConnection("sr3", 27017);
|
|
break;
|
|
case ConsoleKey.B:
|
|
fireLanceCRUD.CloseCurrentConnection();
|
|
break;
|
|
}
|
|
|
|
Console.WriteLine($"FireLance Connection State: {fireLanceCRUD.IsConnectionOpen()}\n");
|
|
}
|
|
|
|
private static void OptionF()
|
|
{
|
|
//Guid guid = Guid.NewGuid();
|
|
List<DirectoriesModel> dm = gsmRO.LoadRecords< DirectoriesModel>("*",
|
|
GsmDbStruct.Tables.Directories,
|
|
GsmDbStruct.Columns.GameID,
|
|
"600",
|
|
true);
|
|
foreach (var entry in dm)
|
|
{
|
|
//entry.Path = guid.ToString();
|
|
fireLanceCRUD.InsertRecord("SaveData", entry);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
private static void PrintGameEntries(List<GameEntryModel> gameEntries)
|
|
{
|
|
foreach (var game in gameEntries)
|
|
{
|
|
Console.WriteLine($"GameName: {game.GameName}");
|
|
Console.WriteLine($"BackupWarning: {game.BackupWarning}");
|
|
Console.WriteLine($"RestoreWarning: {game.RestoreWarning}");
|
|
Console.WriteLine($"LastModified: {game.LastModified}\n");
|
|
}
|
|
}
|
|
|
|
private static void PrintGameEntry(GameEntryModel gameEntry)
|
|
{
|
|
Console.WriteLine($"GameName: {gameEntry.GameName}");
|
|
Console.WriteLine($"BackupWarning: {gameEntry.BackupWarning}");
|
|
Console.WriteLine($"RestoreWarning: {gameEntry.RestoreWarning}");
|
|
Console.WriteLine($"LastModified: {gameEntry.LastModified}\n");
|
|
}
|
|
|
|
private static void PrintDirectories(List<DirectoriesModel> directoryEntries)
|
|
{
|
|
foreach (var directory in directoryEntries)
|
|
{
|
|
Console.WriteLine($"GameID: {directory.GameID}");
|
|
Console.WriteLine($"SpecialPath: {directory.SpecialPath}");
|
|
Console.WriteLine($"Path: {directory.Path}");
|
|
Console.WriteLine($"RegHive: {directory.RegHive}");
|
|
Console.WriteLine($"RegPath: {directory.RegPath}");
|
|
Console.WriteLine($"RegValue: {directory.RegValue}");
|
|
Console.WriteLine($"DefinedFiles: {directory.DefinedFiles}");
|
|
Console.WriteLine($"ExcludedFiles: {directory.ExcludedFiles}");
|
|
Console.WriteLine($"Recurse: {directory.Recurse}\n");
|
|
}
|
|
}
|
|
}
|
|
}
|