Files
mapo-core/MP.Data/Services/IOC/IIocService.cs
T
2026-04-30 18:13:26 +02:00

69 lines
2.6 KiB
C#

using MP.Data.DbModels;
using System;
using System.Threading.Tasks;
using static MP.Core.Objects.Enums;
namespace MP.Data.Services.IOC
{
public interface IIocService
{
#region Public Methods
/// <summary>
/// Processing intera catena eventi verifica cambio stato in singola transazione e con unico DbContext
/// </summary>
/// <param name="tipoInput"></param>
/// <param name="IdxMacchina"></param>
/// <param name="InizioStato"></param>
/// <param name="IdxTipo"></param>
/// <param name="CodArt"></param>
/// <param name="Value"></param>
/// <param name="MatrOpr"></param>
/// <param name="pallet"></param>
/// <returns></returns>
Task<bool> CheckCambiaStatoBatchAsync(tipoInputEvento tipoInput, string IdxMacchina, DateTime InizioStato, int IdxTipo, string CodArt, string Value, int MatrOpr, string pallet);
/// <summary>
/// Aggiunta record MicroStato + EventList
/// </summary>
/// <param name="newRecMsm"></param>
/// <param name="newRecEv"></param>
/// <returns></returns>
Task<bool> EvListMicroStatoInsertAsync(MicroStatoMacchinaModel newRecMsm, EventListModel newRecEv);
/// <summary>
/// Restituisce il valOut booleano se la macchina sia abilitata all'input
/// </summary>
/// <param name="idxMacchina"></param>
/// <returns></returns>
Task<bool> IobInsEnabAsync(string idxMacchina);
/// <summary>
/// Aggiornamento record Microstato macchina
/// </summary>
/// <param name="newRec"></param>
/// <returns></returns>
Task<bool> MicroStatoMacchinaUpsertAsync(MicroStatoMacchinaModel newRec);
/// <summary>
/// Processa input da IOB eventualmente registrando i segnali inviati
/// </summary>
/// <param name="idxMacchina"></param>
/// <param name="valore"></param>
/// <param name="dtEve"></param>
/// <param name="dtCurr"></param>
/// <param name="contatore"></param>
/// <returns></returns>
Task<string> ProcessInputAsync(string idxMacchina, string valore, string dtEve, string dtCurr, string contatore);
/// <summary>
/// scrive un evento di keepalive sulla tabella
/// </summary>
/// <param name="IdxMacchina"></param>
/// <param name="oraMacchina"></param>
/// <returns></returns>
Task ScriviKeepAliveAsync(string IdxMacchina, DateTime oraMacchina);
#endregion Public Methods
}
}