Update gestione conf recipe
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using NLog;
|
||||
using NLog.Fluent;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using MongoDB.Driver;
|
||||
using MongoDB.Bson;
|
||||
using MP.Data.MgModels;
|
||||
using System.IO;
|
||||
using MP.Data.Conf;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace MP.Data.Controllers
|
||||
{
|
||||
public class MpMongoController : IDisposable
|
||||
{
|
||||
|
||||
public MpMongoController(IConfiguration configuration)
|
||||
{
|
||||
_configuration = configuration;
|
||||
string mongoConf = _configuration.GetConnectionString("MongoConnect");
|
||||
client = new MongoClient(mongoConf);
|
||||
Log.Info("Avviata classe MpMongoController");
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
client = null;
|
||||
_configuration = null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Ricerca ricetta su MongoDB dato PODL
|
||||
/// </summary>
|
||||
/// <param name="idxPODL"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<RecipeModel> RecipeGetByPODL(int idxPODL)
|
||||
{
|
||||
await Task.Delay(1);
|
||||
RecipeModel answ = new RecipeModel();
|
||||
return answ;
|
||||
}
|
||||
public async Task<bool> RecipeSetByPODL(RecipeModel currRecord)
|
||||
{
|
||||
await Task.Delay(1);
|
||||
bool answ = false;
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Init ricetta dato PODL + conf
|
||||
/// </summary>
|
||||
/// <param name=""></param>
|
||||
/// <returns></returns>
|
||||
public RecipeModel InitRecipe(int idxPODL, string confPath)
|
||||
{
|
||||
RecipeModel answ = new RecipeModel();
|
||||
// per prima cosa leggo file di conf x inizializzare ricetta...
|
||||
string fullPath = RecipePath(confPath);
|
||||
bool fileOk = File.Exists(fullPath);
|
||||
if (fileOk)
|
||||
{
|
||||
string rawData = File.ReadAllText(fullPath);
|
||||
var currRecipe = JsonConvert.DeserializeObject<RecipeConfig>(rawData);
|
||||
// copio la mia ricetta...
|
||||
answ = new RecipeModel()
|
||||
{
|
||||
IdxPODL = idxPODL,
|
||||
TemplateFile = currRecipe.TemplateFile,
|
||||
HeadConf = currRecipe.HeadConf,
|
||||
RowsConf = currRecipe.RowsConf
|
||||
};
|
||||
}
|
||||
|
||||
return answ;
|
||||
}
|
||||
|
||||
private MongoClient client = new MongoClient("mongodb://localhost:27017");
|
||||
|
||||
private static IConfiguration _configuration;
|
||||
|
||||
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
|
||||
|
||||
public static string RecipePath(string ruleName)
|
||||
{
|
||||
return string.Format($"Recipe/{ruleName}");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user