using MP.Data.DbModels;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using static MP.Core.Objects.Enums;
namespace MP.Data.Repository.IOC
{
///
/// Interfaccia per metodi IOC
///
public interface IIocRepository
{
#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);
///
/// Elenco da tabella Config
///
///
Task> ConfigGetAllAsync();
///
/// Intera tab dati macchina
///
///
Task> DatiMacchineGetAllAsync();
///
/// Aggiunta record MicroStato + EventList
///
///
///
///
Task EvListMicroStatoInsertAsync(MicroStatoMacchinaModel newRecMsm, EventListModel newRecEv);
///
/// Upsert record keepalive
///
///
///
///
///
Task KeepAliveUpsertAsync(string IdxMacc, DateTime OraServer, DateTime OraMacc);
///
/// Intera tabella relazione master/slave in machine (gestione setup master - slave)
///
///
Task> Macchine2SlaveAsync();
///
/// Recupera record macchina da Idx
///
///
///
Task MacchineGetByIdxAsync(string IdxMacchina);
///
/// Upsert Record Macchine ASYNC
///
///
Task MacchineUpsertAsync(MacchineModel entity);
///
/// Elenco da tabella Macchine
///
///
///
Task> MicroStatoMacchinaGetByIdxMaccAsync(string IdxMacc);
///
/// Aggiornamento record Microstato macchina
///
///
///
Task MicroStatoMacchinaUpsertAsync(MicroStatoMacchinaModel newRec);
///
/// Aggiunta record SignalLog Async
///
///
///
Task SignalLogInsertAsync(SignalLogModel newRec);
///
/// Intera tabella state machine ingressi 2 eventi
///
///
Task> StateMachineIngressiAsync(int idxFam);
///
/// Stato prod macchina (completo) Async
///
///
///
///
Task StatoProdMacchinaAsync(string idxMacchina, DateTime dtReq);
///
/// Vista v_MSFD x singola macchina (da stored) - singolo record
///
///
///
Task VMSFDGetByMaccAsync(string idxMacc);
///
/// Vista v_MSFD delle machine MULTI filtrato x macchina (da stored)
///
///
///
Task> VMSFDGetMultiByMaccAsync(string idxMacc);
#endregion Public Methods
}
}