diff --git a/MagMan.Data.Tenant/DbModels/LogMachineModel.cs b/MagMan.Data.Tenant/DbModels/LogMachineModel.cs
index 28a796d..87dbc2d 100644
--- a/MagMan.Data.Tenant/DbModels/LogMachineModel.cs
+++ b/MagMan.Data.Tenant/DbModels/LogMachineModel.cs
@@ -24,21 +24,26 @@ namespace MagMan.Data.Tenant.DbModels
[Key, Column("DbId"), DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int LogDbId { get; set; }
- ///
- /// Id macchina (diMagMan)
- ///
- public int MachineID { get; set; } = 0;
-
///
/// Key di riferimento per il progetto
///
public int KeyNum { get; set; } = 0;
+ ///
+ /// Id macchina (diMagMan)
+ ///
+ public int MachineID { get; set; } = 0;
+
+ ///
+ /// Progetto di riferimento (CloudId)
+ ///
+ public int ProjDbId { get; set; }
+
///
/// Data Registrazione
///
[Column("DtEvent")]
- public DateTime DtRif { get; set; } = DateTime.Now;
+ public DateTime DtEvent { get; set; } = DateTime.Now;
#if false
///
@@ -107,8 +112,8 @@ namespace MagMan.Data.Tenant.DbModels
///
/// Stato da enum Core
///
- [Column("ResultType")]
- public ResultTypes ResultType { get; set; } = ResultTypes.NULL;
+ [Column("EvType")]
+ public MachLogTypes EvType { get; set; } = MachLogTypes.NULL;
///
/// Indirizzo VAR
diff --git a/MagMan.UI/Controllers/KeysController.cs b/MagMan.UI/Controllers/KeysController.cs
index 9dee97b..3d78728 100644
--- a/MagMan.UI/Controllers/KeysController.cs
+++ b/MagMan.UI/Controllers/KeysController.cs
@@ -37,7 +37,7 @@ namespace MagMan.UI.Controllers
[HttpGet]
public async Task> Get()
{
- // se non ho chaive --> vuoto!
+ // se non ho chiave --> vuoto!
List ListRecords = new List();
await Task.Delay(100);
return ListRecords;
diff --git a/MagMan.UI/Controllers/LogMachineController.cs b/MagMan.UI/Controllers/LogMachineController.cs
new file mode 100644
index 0000000..0d2c4cd
--- /dev/null
+++ b/MagMan.UI/Controllers/LogMachineController.cs
@@ -0,0 +1,136 @@
+using MagMan.Core.DTO;
+using MagMan.Core;
+using MagMan.Data.Admin.DbModels;
+using MagMan.Data.Admin.Services;
+using MagMan.Data.Tenant.Services;
+using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json;
+using NLog;
+using MagMan.Data.Tenant.DbModels;
+
+namespace MagMan.UI.Controllers
+{
+ [Route("api/[controller]")]
+ [ApiController]
+ public class LogMachineController : ControllerBase
+ {
+ #region Public Constructors
+
+ public LogMachineController(MTAdminService MTDataService, TenantService TDataService)
+ {
+ MTAdmService = MTDataService;
+ TService = TDataService;
+ // json serializer... FIX errore loop circolare https://www.ryadel.com/en/jsonserializationexception-self-referencing-loop-detected-error-fix-entity-framework-asp-net-core/
+ JSSettings = new JsonSerializerSettings()
+ {
+ ReferenceLoopHandling = ReferenceLoopHandling.Ignore
+ };
+ Log.Info("Avviata classe LogMachineController");
+ }
+
+ #endregion Public Constructors
+
+ #region Public Methods
+
+ ///
+ /// Controllo status Alive
+ /// GET: api/LogMachine/alive
+ ///
+ ///
+ [HttpGet("alive")]
+ public string alive()
+ {
+ return $"OK";
+ }
+
+ // GET api/LogMachine
+ [HttpGet]
+ public async Task> Get()
+ {
+ // se non ho chiave --> vuoto!
+ List ListRecords = new List();
+ await Task.Delay(100);
+ return ListRecords;
+ }
+
+ ///
+ /// Elenco ultimi valori LogMachineModel dato RestToken
+ ///
+ /// Rest Token cliente
+ /// Chiave associata ai progetti
+ ///
+ // GET api/LogMachine/2cba60c7-7be4-40b1-aa0d-52e7c71fc1a7
+ [HttpGet("{id}")]
+ public async Task> Get(string id, int KeyNum, int numVal)
+ {
+ List ListRecords = new List();
+#if false
+ if (!string.IsNullOrEmpty(id))
+ {
+ // in primis recupero codice chiave da token...
+ int nKey = await MTAdmService.MainKeyByToken(id);
+ var rawList = await TService.ProjectGetAll(nKey);
+ ListRecords = rawList.Select(x => TService.ProjectToDto(x)).ToList();
+ }
+#endif
+ return ListRecords;
+ }
+
+ ///
+ /// Processa una chiamata POST per l'invio di un oggetto di upsert progetto
+ /// PUT: api/Inventory/upsert/00000000-0000-0000-0000-000000000000
+ ///
+ /// token comunicazione
+ /// ID del progetto creato da usare come CloudId
+ [HttpPost("upsert/{id}")]
+ public async Task upsert(string id, [FromBody] RestPayload.LogData rawData)
+ {
+ int answ = 0;
+ // verifico ci sia valore
+ if (!string.IsNullOrEmpty(id) && rawData != null && rawData.LogList != null)
+ {
+ // in primis recupero codice chiave da token...
+ int nKey = await MTAdmService.MainKeyByToken(id);
+ if (nKey > 0)
+ {
+#if false
+ // converto ProjDto --> DB
+ var currRec = TService.ProjectFromDto(rawData.Project);
+ try
+ {
+ answ = await TService.ProjectUpsert(nKey, currRec);
+ }
+ catch (Exception exc)
+ {
+ Log.Error($"ProjectsController.upsert | Errore in fase salvataggio ProjectDTO{Environment.NewLine}{exc}");
+ }
+ // resetto cache redis
+ await MTAdmService.FlushRedisCache();
+#endif
+ }
+ }
+ return answ;
+ }
+
+ #endregion Public Methods
+
+ #region Private Fields
+
+ private static JsonSerializerSettings? JSSettings;
+
+ ///
+ /// Classe per logging
+ ///
+ private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
+
+ #endregion Private Fields
+
+ #region Private Properties
+
+ private MTAdminService MTAdmService { get; set; } = null!;
+ private TenantService TService { get; set; } = null!;
+
+ #endregion Private Properties
+ }
+}