using MP.Data.DbModels;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using static MP.Core.Objects.Enums;
namespace MP.Data.Services.IOC
{
public interface IIocService
{
#region Public Methods
///
/// Processing intera catena eventi verifica cambio stato in singola transazione e con unico DbContext
///
///
///
///
///
///
///
///
///
///
Task CheckCambiaStatoBatchAsync(tipoInputEvento tipoInput, string IdxMacchina, DateTime InizioStato, int IdxTipo, string CodArt, string Value, int MatrOpr, string pallet);
///
/// Esegue clear dell'intera cache fusion in blocco
///
///
Task ClearFusionCache();
///
/// Aggiunta record MicroStato + EventList
///
///
///
///
Task EvListMicroStatoInsertAsync(MicroStatoMacchinaModel newRecMsm, EventListModel newRecEv);
///
/// Restituisce il valOut dell'ODL corrente (ODL deve esserci per gestione contapezzi, senza
/// ODL NO invio/gestione ODL)
///
///
///
Task GetCurrOdlAsync(string idxMacchina);
///
/// Restitusice elenco KVP dei TASK (da passare a IOB-WIN) per l'impianto indicato
///
///
///
Task> GetTask2ExeMacchinaAsync(string idxMacchina);
///
/// Restituisce il valOut booleano se la macchina sia abilitata all'input
///
///
///
Task IobInsEnabAsync(string idxMacchina);
///
/// Aggiornamento record Microstato macchina
///
///
///
Task MicroStatoMacchinaUpsertAsync(MicroStatoMacchinaModel newRec);
///
/// Processa input da IOB eventualmente registrando i segnali inviati
///
///
///
///
///
///
///
Task ProcessInputAsync(string idxMacchina, string valore, string dtEve, string dtCurr, string contatore);
///
/// Restituisce il contapezzi come CONTEGGIO da TCRilevati per la macchina - ASYNC
///
///
///
Task PzCounterTcAsync(string idxMacchina);
///
/// Processa registrazione di un counter x una data macchina IOB
///
///
/// contapezzi
///
Task SaveCounterAsync(string idxMacchina, string counter);
///
/// scrive un evento di keepalive sulla tabella
///
///
///
///
Task ScriviKeepAliveAsync(string IdxMacchina, DateTime oraMacchina);
#endregion Public Methods
}
}