FirelanceMgr now handles and inits CRUD and GFS

This commit is contained in:
2020-07-06 14:10:44 +01:00
parent 07ed1e1430
commit 91ea94a76c
5 changed files with 31 additions and 25 deletions
+14 -18
View File
@@ -14,7 +14,6 @@ namespace DevConsole
public static GsmMgr gsmMgr = new GsmMgr(); public static GsmMgr gsmMgr = new GsmMgr();
public static GsmRO gsmRO; public static GsmRO gsmRO;
public static FirelanceMgr flcMgr = new FirelanceMgr(); public static FirelanceMgr flcMgr = new FirelanceMgr();
public static FirelanceCRUD flcCRUD;
static void Main(string[] args) static void Main(string[] args)
{ {
@@ -66,7 +65,6 @@ namespace DevConsole
private static void ConnectToFirelanceManager() private static void ConnectToFirelanceManager()
{ {
flcMgr.OpenConnection("sr3", 27017); flcMgr.OpenConnection("sr3", 27017);
flcCRUD = new FirelanceCRUD(flcMgr.Database);
Console.WriteLine($"FireLance Connection State: {flcMgr.IsConnectionOpen()}"); Console.WriteLine($"FireLance Connection State: {flcMgr.IsConnectionOpen()}");
} }
@@ -216,12 +214,12 @@ namespace DevConsole
masterGameRecord.GameEntry = gameEntry; masterGameRecord.GameEntry = gameEntry;
masterGameRecord.SaveGameEntries = saveGameEntries; masterGameRecord.SaveGameEntries = saveGameEntries;
flcCRUD.InsertRecord(Firelance.Collections.GameRecords, masterGameRecord); flcMgr.CRUD.InsertRecord(Firelance.Collections.GameRecords, masterGameRecord);
} }
static void FlcReadMasterGameRecordAction() static void FlcReadMasterGameRecordAction()
{ {
var masterGameRecords = flcCRUD.LoadRecordsFromTable<MasterGameRecordModel>(Firelance.Collections.GameRecords); var masterGameRecords = flcMgr.CRUD.LoadRecordsFromTable<MasterGameRecordModel>(Firelance.Collections.GameRecords);
foreach (var record in masterGameRecords) foreach (var record in masterGameRecords)
{ {
Console.WriteLine(record.Id); Console.WriteLine(record.Id);
@@ -245,45 +243,44 @@ namespace DevConsole
private static void FlcRemoveFirstSaveEntryAction() private static void FlcRemoveFirstSaveEntryAction()
{ {
Guid firstMasterGameRecordGuid = flcCRUD.LoadRecordsFromTable<MasterGameRecordModel>( Guid firstMasterGameRecordGuid = flcMgr.CRUD.LoadRecordsFromTable<MasterGameRecordModel>(
Firelance.Collections.GameRecords).First().Id; Firelance.Collections.GameRecords).First().Id;
MasterGameRecordModel masterGameRecordToRemove = flcCRUD.LoadRecordById<MasterGameRecordModel>( MasterGameRecordModel masterGameRecordToRemove = flcMgr.CRUD.LoadRecordById<MasterGameRecordModel>(
Firelance.Collections.GameRecords, firstMasterGameRecordGuid); Firelance.Collections.GameRecords, firstMasterGameRecordGuid);
ObjectId firstSaveGameEntryObjId = masterGameRecordToRemove.SaveGameEntries.Select(x => x.SaveDataID).First(); ObjectId firstSaveGameEntryObjId = masterGameRecordToRemove.SaveGameEntries.Select(x => x.SaveDataID).First();
masterGameRecordToRemove.SaveGameEntries.RemoveAll(x => x.SaveDataID == firstSaveGameEntryObjId); masterGameRecordToRemove.SaveGameEntries.RemoveAll(x => x.SaveDataID == firstSaveGameEntryObjId);
flcCRUD.UpsertRecordById(Firelance.Collections.GameRecords, flcMgr.CRUD.UpsertRecordById(Firelance.Collections.GameRecords,
firstMasterGameRecordGuid, firstMasterGameRecordGuid,
masterGameRecordToRemove); masterGameRecordToRemove);
var result = new FirelanceGFS(flcMgr.Database).DeleteFile(firstSaveGameEntryObjId); var result = flcMgr.GFS.DeleteFile(firstSaveGameEntryObjId);
} }
private static void FlcInsertBlankSaveEntryAction() private static void FlcInsertBlankSaveEntryAction()
{ {
Guid firstMasterGameRecordGuid = flcCRUD.LoadRecordsFromTable<MasterGameRecordModel>( Guid firstMasterGameRecordGuid = flcMgr.CRUD.LoadRecordsFromTable<MasterGameRecordModel>(
Firelance.Collections.GameRecords).First().Id; Firelance.Collections.GameRecords).First().Id;
MasterGameRecordModel masterGameRecordToInsert = flcCRUD.LoadRecordById<MasterGameRecordModel>( MasterGameRecordModel masterGameRecordToInsert = flcMgr.CRUD.LoadRecordById<MasterGameRecordModel>(
Firelance.Collections.GameRecords, firstMasterGameRecordGuid); Firelance.Collections.GameRecords, firstMasterGameRecordGuid);
masterGameRecordToInsert.SaveGameEntries.Add(new SaveGameEntriesModel()); masterGameRecordToInsert.SaveGameEntries.Add(new SaveGameEntriesModel());
flcCRUD.UpsertRecordById(Firelance.Collections.GameRecords, flcMgr.CRUD.UpsertRecordById(Firelance.Collections.GameRecords,
firstMasterGameRecordGuid, firstMasterGameRecordGuid,
masterGameRecordToInsert); masterGameRecordToInsert);
} }
private static void FlcUploadToGridFsAction() private static void FlcUploadToGridFsAction()
{ {
var flcGFS = new FirelanceGFS(flcMgr.Database); var ulObjId = new ObjectId(flcMgr.GFS.UploadFile("TestFile", @"C:\Users\Dunestorm\Downloads\OpenMW-0.46.0-win64.exe").Result);
var ulObjId = new ObjectId(flcGFS.UploadFile("TestFile", @"C:\Users\Dunestorm\Downloads\OpenMW-0.46.0-win64.exe").Result);
Guid firstMasterGameRecordGuid = flcCRUD.LoadRecordsFromTable<MasterGameRecordModel>( Guid firstMasterGameRecordGuid = flcMgr.CRUD.LoadRecordsFromTable<MasterGameRecordModel>(
Firelance.Collections.GameRecords).First().Id; Firelance.Collections.GameRecords).First().Id;
var saveGameEntry = flcCRUD.LoadRecordById<MasterGameRecordModel>( var saveGameEntry = flcMgr.CRUD.LoadRecordById<MasterGameRecordModel>(
Firelance.Collections.GameRecords, firstMasterGameRecordGuid); Firelance.Collections.GameRecords, firstMasterGameRecordGuid);
saveGameEntry.SaveGameEntries.Add(new SaveGameEntriesModel() { SaveDataID = ulObjId }); saveGameEntry.SaveGameEntries.Add(new SaveGameEntriesModel() { SaveDataID = ulObjId });
flcCRUD.UpsertRecordById(Firelance.Collections.GameRecords, flcMgr.CRUD.UpsertRecordById(Firelance.Collections.GameRecords,
firstMasterGameRecordGuid, firstMasterGameRecordGuid,
saveGameEntry); saveGameEntry);
@@ -294,8 +291,7 @@ namespace DevConsole
{ {
var objId = "5f00a560b65a2f02d0c7996e"; var objId = "5f00a560b65a2f02d0c7996e";
var flcGFC = new FirelanceGFS(flcMgr.Database); var dlResult = flcMgr.GFS.DownloadFile(new MongoDB.Bson.ObjectId(objId), @$"D:\Temp\{objId}.exe");
var dlResult = flcGFC.DownloadFile(new MongoDB.Bson.ObjectId(objId), @$"D:\Temp\{objId}.exe");
Console.WriteLine($"Download Successful: {dlResult.Result}"); Console.WriteLine($"Download Successful: {dlResult.Result}");
} }
#endregion #endregion
+1 -1
View File
@@ -8,7 +8,7 @@ namespace Firelance
public class FirelanceCRUD : IFlcMongoDBConnecton public class FirelanceCRUD : IFlcMongoDBConnecton
{ {
public IMongoDatabase Database { get; private set; } public IMongoDatabase Database { get; private set; }
public FirelanceCRUD(IMongoDatabase db) public void SetDatabaseInstance(IMongoDatabase db)
{ {
Database = db; Database = db;
} }
+2 -3
View File
@@ -7,11 +7,10 @@ using System.Threading.Tasks;
namespace Firelance namespace Firelance
{ {
public class FirelanceGFS public class FirelanceGFS : IFlcMongoDBConnecton
{ {
private GridFSBucket gridFSBucket; private GridFSBucket gridFSBucket;
public void SetDatabaseInstance(IMongoDatabase db)
public FirelanceGFS(IMongoDatabase db)
{ {
gridFSBucket = new GridFSBucket(db, new GridFSBucketOptions gridFSBucket = new GridFSBucket(db, new GridFSBucketOptions
{ {
+13 -2
View File
@@ -5,9 +5,20 @@ using System;
namespace Firelance namespace Firelance
{ {
public class FirelanceMgr : IFlcBaseDBConnection, IFlcMongoDBConnecton public class FirelanceMgr : IFlcBaseDBConnection
{ {
public IMongoDatabase Database { get; private set; } private IMongoDatabase _database;
public IMongoDatabase Database {
get { return _database; }
private set
{
_database = value;
CRUD.SetDatabaseInstance(_database);
GFS.SetDatabaseInstance(_database);
}
}
public FirelanceCRUD CRUD = new FirelanceCRUD();
public FirelanceGFS GFS = new FirelanceGFS();
public void OpenConnection(string dbLocation, int port) public void OpenConnection(string dbLocation, int port)
{ {
+1 -1
View File
@@ -4,6 +4,6 @@ namespace Firelance
{ {
public interface IFlcMongoDBConnecton public interface IFlcMongoDBConnecton
{ {
public IMongoDatabase Database { get; } void SetDatabaseInstance(IMongoDatabase db);
} }
} }