Merge branch 'release/AddRawTransferPreliminary'
This commit is contained in:
@@ -79,6 +79,7 @@ namespace MP_IO.Controllers
|
||||
return answ;
|
||||
}
|
||||
|
||||
|
||||
// GET: IOB/enabled/SIMUL_03
|
||||
public string enabled(string id)
|
||||
{
|
||||
@@ -105,9 +106,88 @@ namespace MP_IO.Controllers
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Processa una chiamata POST per l'invio di un array Json di oggetti rawTransfer (generiche info da deserializzare)
|
||||
/// POST: IOB/rawTransfJson/SIMUL_03
|
||||
/// </summary>
|
||||
/// <param name="id">ID dell'IOB</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public string rawTransfJson(string id)
|
||||
{
|
||||
int insDone = 0;
|
||||
string answ = "";
|
||||
// questa classe è derivata da Controller.Response... x cui recupero lo stream in altro modo...
|
||||
string content = "";
|
||||
System.Web.HttpContext.Current.Request.InputStream.Position = 0;
|
||||
using (var reader = new StreamReader(
|
||||
Request.InputStream, System.Text.Encoding.UTF8, true, 4096, true))
|
||||
{
|
||||
content = reader.ReadToEnd();
|
||||
}
|
||||
//Rest
|
||||
System.Web.HttpContext.Current.Request.InputStream.Position = 0;
|
||||
// se ho dati...
|
||||
if (content != "")
|
||||
{
|
||||
DataLayer DataLayerObj = new DataLayer();
|
||||
// deserializzo come un dictionary generico di oggetti rawDataType/string
|
||||
baseRawTransf receivedData = new baseRawTransf();
|
||||
// procedo a deserializzare in blocco l'oggetto...
|
||||
try
|
||||
{
|
||||
// deserializzo.
|
||||
receivedData = JsonConvert.DeserializeObject<baseRawTransf>(content);
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
logger.lg.scriviLog($"Errore in fase deserializzazione rawTransfJson{Environment.NewLine}{exc}");
|
||||
answ = "NO";
|
||||
}
|
||||
// se ho qualcosa da processare...
|
||||
if (receivedData != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
// per ora salvo su REDIS ultimo x tipo
|
||||
DataLayerObj.lastRawTrasfData = JsonConvert.SerializeObject(receivedData.mesContent);
|
||||
|
||||
// !!! FixMe ToDo fare
|
||||
// deserializzazione e salvataggio su MongoDB
|
||||
// salvataggio su tab RawTrasf su DB IS
|
||||
|
||||
// in base al tipo processo...
|
||||
switch (receivedData.mesType)
|
||||
{
|
||||
case rawTransfType.ND:
|
||||
break;
|
||||
case rawTransfType.IcoelBatch:
|
||||
break;
|
||||
case rawTransfType.IcoelVarInfo:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
insDone++;
|
||||
// se vuoto --> OK!
|
||||
if (string.IsNullOrEmpty(answ))
|
||||
{
|
||||
answ = $"OK {insDone} processed";
|
||||
}
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
logger.lg.scriviLog($"Errore in fase invio valori rawTransfJson{Environment.NewLine}{exc}");
|
||||
answ = "NO";
|
||||
}
|
||||
}
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Processa una chiamata POST per l'invio di un array Json di oggetti input (EVENTI)
|
||||
/// PUT: IOB/evListJson/SIMUL_03
|
||||
/// POST: IOB/evListJson/SIMUL_03
|
||||
/// </summary>
|
||||
/// <param name="id">ID dell'IOB</param>
|
||||
/// <returns></returns>
|
||||
|
||||
+25
-4
@@ -120,10 +120,7 @@ namespace MapoDb
|
||||
/// <returns></returns>
|
||||
public static string hMSE
|
||||
{
|
||||
get
|
||||
{
|
||||
return mHash(string.Format("hMSE_DATA"));
|
||||
}
|
||||
get => mHash("hMSE_DATA");
|
||||
}
|
||||
|
||||
public static string redKeyArtUsed
|
||||
@@ -135,6 +132,11 @@ namespace MapoDb
|
||||
get => mHash($"CACHE:TabCheckArt");
|
||||
}
|
||||
|
||||
public static string redKeyRawTransfData
|
||||
{
|
||||
get => mHash($"RAW:TRANSFER");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Cognome Nome da MatrOpr in sessione
|
||||
/// </summary>
|
||||
@@ -173,6 +175,25 @@ namespace MapoDb
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Dati RawTransfer serializzati in REDIS (get/set)
|
||||
/// </summary>
|
||||
public string lastRawTrasfData
|
||||
{
|
||||
get
|
||||
{
|
||||
string answ = "";
|
||||
logger.lg.scriviLog("Richiesta rawTransfData da REDIS");
|
||||
answ = memLayer.ML.getRSV(redKeyRawTransfData);
|
||||
return answ;
|
||||
}
|
||||
set
|
||||
{
|
||||
memLayer.ML.setRSV(redKeyRawTransfData, value);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// MatrOpr in sessione
|
||||
/// </summary>
|
||||
|
||||
+25
-1
@@ -1,4 +1,7 @@
|
||||
namespace MapoSDK
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
|
||||
namespace MapoSDK
|
||||
{
|
||||
public enum DataItemCategory
|
||||
{
|
||||
@@ -17,6 +20,27 @@
|
||||
error
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tipologia dato Raw Transfer
|
||||
/// </summary>
|
||||
/// serializzazione Native
|
||||
/// [JsonConverter(typeof(JsonStringEnumConverter))]
|
||||
/// serializzazione Newtonsoft json
|
||||
/// [JsonConverter(typeof(StringEnumConverter))]
|
||||
[JsonConverter(typeof(StringEnumConverter))]
|
||||
public enum rawTransfType
|
||||
{
|
||||
ND = 0,
|
||||
/// <summary>
|
||||
/// Icoel: Batch info
|
||||
/// </summary>
|
||||
IcoelBatch,
|
||||
/// <summary>
|
||||
/// Icoel: Variety + layout info relative
|
||||
/// </summary>
|
||||
IcoelVarInfo
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tipo di IOB
|
||||
/// </summary>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<Company>EgalWare</Company>
|
||||
<Description>SDK for MAPO solutions</Description>
|
||||
<PackageTags>MAPO;MES;SDK</PackageTags>
|
||||
<Copyright>Copyright (c) 2007-2022 EgalWare</Copyright>
|
||||
<Copyright>Copyright (c) 2007-2022 EgalWare</Copyright>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
<NuGetPackageImportStamp>
|
||||
|
||||
@@ -438,4 +438,20 @@ namespace MapoSDK
|
||||
|
||||
#endregion Public Properties
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Classe di base per trasferimento informazioni di tipo RawTransfer
|
||||
/// </summary>
|
||||
public class baseRawTransf
|
||||
{
|
||||
/// <summary>
|
||||
/// Tipo di messaggio trasmesso
|
||||
/// </summary>
|
||||
public rawTransfType mesType { get; set; } = rawTransfType.ND;
|
||||
|
||||
/// <summary>
|
||||
/// Messaggio in modalità raw/stringa
|
||||
/// </summary>
|
||||
public object mesContent { get; set; } = null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user