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 GsmRO gsmRO;
public static FirelanceMgr flcMgr = new FirelanceMgr();
public static FirelanceCRUD flcCRUD;
static void Main(string[] args)
{
@@ -66,7 +65,6 @@ namespace DevConsole
private static void ConnectToFirelanceManager()
{
flcMgr.OpenConnection("sr3", 27017);
flcCRUD = new FirelanceCRUD(flcMgr.Database);
Console.WriteLine($"FireLance Connection State: {flcMgr.IsConnectionOpen()}");
}
@@ -216,12 +214,12 @@ namespace DevConsole
masterGameRecord.GameEntry = gameEntry;
masterGameRecord.SaveGameEntries = saveGameEntries;
flcCRUD.InsertRecord(Firelance.Collections.GameRecords, masterGameRecord);
flcMgr.CRUD.InsertRecord(Firelance.Collections.GameRecords, masterGameRecord);
}
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)
{
Console.WriteLine(record.Id);
@@ -245,45 +243,44 @@ namespace DevConsole
private static void FlcRemoveFirstSaveEntryAction()
{
Guid firstMasterGameRecordGuid = flcCRUD.LoadRecordsFromTable<MasterGameRecordModel>(
Guid firstMasterGameRecordGuid = flcMgr.CRUD.LoadRecordsFromTable<MasterGameRecordModel>(
Firelance.Collections.GameRecords).First().Id;
MasterGameRecordModel masterGameRecordToRemove = flcCRUD.LoadRecordById<MasterGameRecordModel>(
MasterGameRecordModel masterGameRecordToRemove = flcMgr.CRUD.LoadRecordById<MasterGameRecordModel>(
Firelance.Collections.GameRecords, firstMasterGameRecordGuid);
ObjectId firstSaveGameEntryObjId = masterGameRecordToRemove.SaveGameEntries.Select(x => x.SaveDataID).First();
masterGameRecordToRemove.SaveGameEntries.RemoveAll(x => x.SaveDataID == firstSaveGameEntryObjId);
flcCRUD.UpsertRecordById(Firelance.Collections.GameRecords,
flcMgr.CRUD.UpsertRecordById(Firelance.Collections.GameRecords,
firstMasterGameRecordGuid,
masterGameRecordToRemove);
var result = new FirelanceGFS(flcMgr.Database).DeleteFile(firstSaveGameEntryObjId);
var result = flcMgr.GFS.DeleteFile(firstSaveGameEntryObjId);
}
private static void FlcInsertBlankSaveEntryAction()
{
Guid firstMasterGameRecordGuid = flcCRUD.LoadRecordsFromTable<MasterGameRecordModel>(
Guid firstMasterGameRecordGuid = flcMgr.CRUD.LoadRecordsFromTable<MasterGameRecordModel>(
Firelance.Collections.GameRecords).First().Id;
MasterGameRecordModel masterGameRecordToInsert = flcCRUD.LoadRecordById<MasterGameRecordModel>(
MasterGameRecordModel masterGameRecordToInsert = flcMgr.CRUD.LoadRecordById<MasterGameRecordModel>(
Firelance.Collections.GameRecords, firstMasterGameRecordGuid);
masterGameRecordToInsert.SaveGameEntries.Add(new SaveGameEntriesModel());
flcCRUD.UpsertRecordById(Firelance.Collections.GameRecords,
flcMgr.CRUD.UpsertRecordById(Firelance.Collections.GameRecords,
firstMasterGameRecordGuid,
masterGameRecordToInsert);
}
private static void FlcUploadToGridFsAction()
{
var flcGFS = new FirelanceGFS(flcMgr.Database);
var ulObjId = new ObjectId(flcGFS.UploadFile("TestFile", @"C:\Users\Dunestorm\Downloads\OpenMW-0.46.0-win64.exe").Result);
var ulObjId = new ObjectId(flcMgr.GFS.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;
var saveGameEntry = flcCRUD.LoadRecordById<MasterGameRecordModel>(
var saveGameEntry = flcMgr.CRUD.LoadRecordById<MasterGameRecordModel>(
Firelance.Collections.GameRecords, firstMasterGameRecordGuid);
saveGameEntry.SaveGameEntries.Add(new SaveGameEntriesModel() { SaveDataID = ulObjId });
flcCRUD.UpsertRecordById(Firelance.Collections.GameRecords,
flcMgr.CRUD.UpsertRecordById(Firelance.Collections.GameRecords,
firstMasterGameRecordGuid,
saveGameEntry);
@@ -294,8 +291,7 @@ namespace DevConsole
{
var objId = "5f00a560b65a2f02d0c7996e";
var flcGFC = new FirelanceGFS(flcMgr.Database);
var dlResult = flcGFC.DownloadFile(new MongoDB.Bson.ObjectId(objId), @$"D:\Temp\{objId}.exe");
var dlResult = flcMgr.GFS.DownloadFile(new MongoDB.Bson.ObjectId(objId), @$"D:\Temp\{objId}.exe");
Console.WriteLine($"Download Successful: {dlResult.Result}");
}
#endregion
+1 -1
View File
@@ -8,7 +8,7 @@ namespace Firelance
public class FirelanceCRUD : IFlcMongoDBConnecton
{
public IMongoDatabase Database { get; private set; }
public FirelanceCRUD(IMongoDatabase db)
public void SetDatabaseInstance(IMongoDatabase db)
{
Database = db;
}
+2 -3
View File
@@ -7,11 +7,10 @@ using System.Threading.Tasks;
namespace Firelance
{
public class FirelanceGFS
public class FirelanceGFS : IFlcMongoDBConnecton
{
private GridFSBucket gridFSBucket;
public FirelanceGFS(IMongoDatabase db)
public void SetDatabaseInstance(IMongoDatabase db)
{
gridFSBucket = new GridFSBucket(db, new GridFSBucketOptions
{
+13 -2
View File
@@ -5,9 +5,20 @@ using System;
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)
{
+1 -1
View File
@@ -4,6 +4,6 @@ namespace Firelance
{
public interface IFlcMongoDBConnecton
{
public IMongoDatabase Database { get; }
void SetDatabaseInstance(IMongoDatabase db);
}
}