Files

129 lines
4.4 KiB
C#

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
{
/// <summary>
/// Interfaccia per metodi IOC
/// </summary>
public interface IIocRepository
{
#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>
/// Elenco da tabella Config
/// </summary>
/// <returns></returns>
Task<List<ConfigModel>> ConfigGetAllAsync();
/// <summary>
/// Intera tab dati macchina
/// </summary>
/// <returns></returns>
Task<List<DatiMacchineModel>> DatiMacchineGetAllAsync();
/// <summary>
/// Aggiunta record MicroStato + EventList
/// </summary>
/// <param name="newRecMsm"></param>
/// <param name="newRecEv"></param>
/// <returns></returns>
Task<bool> EvListMicroStatoInsertAsync(MicroStatoMacchinaModel newRecMsm, EventListModel newRecEv);
/// <summary>
/// Upsert record keepalive
/// </summary>
/// <param name="IdxMacc"></param>
/// <param name="OraServer"></param>
/// <param name="OraMacc"></param>
/// <returns></returns>
Task<bool> KeepAliveUpsertAsync(string IdxMacc, DateTime OraServer, DateTime OraMacc);
/// <summary>
/// Intera tabella relazione master/slave in machine (gestione setup master - slave)
/// </summary>
/// <returns></returns>
Task<List<Macchine2SlaveModel>> Macchine2SlaveAsync();
/// <summary>
/// Recupera record macchina da Idx
/// </summary>
/// <param name="IdxMacchina"></param>
/// <returns></returns>
Task<MacchineModel?> MacchineGetByIdxAsync(string IdxMacchina);
/// <summary>
/// Upsert Record Macchine ASYNC
/// </summary>
/// <returns></returns>
Task<bool> MacchineUpsertAsync(MacchineModel entity);
/// <summary>
/// Elenco da tabella Macchine
/// </summary>
/// <param name="IdxMacc"></param>
/// <returns></returns>
Task<List<MicroStatoMacchinaModel>> MicroStatoMacchinaGetByIdxMaccAsync(string IdxMacc);
/// <summary>
/// Aggiornamento record Microstato macchina
/// </summary>
/// <param name="newRec"></param>
/// <returns></returns>
Task<bool> MicroStatoMacchinaUpsertAsync(MicroStatoMacchinaModel newRec);
/// <summary>
/// Aggiunta record SignalLog Async
/// </summary>
/// <param name="newRec"></param>
/// <returns></returns>
Task<bool> SignalLogInsertAsync(SignalLogModel newRec);
/// <summary>
/// Intera tabella state machine ingressi 2 eventi
/// </summary>
/// <returns></returns>
Task<List<TransizioneIngressiModel>> StateMachineIngressiAsync(int idxFam);
/// <summary>
/// Stato prod macchina (completo) Async
/// </summary>
/// <param name="idxMacchina"></param>
/// <param name="dtReq"></param>
/// <returns></returns>
Task<StatoProdModel> StatoProdMacchinaAsync(string idxMacchina, DateTime dtReq);
/// <summary>
/// Vista v_MSFD x singola macchina (da stored) - singolo record
/// </summary>
/// <param name="idxMacc"></param>
/// <returns></returns>
Task<VMSFDModel?> VMSFDGetByMaccAsync(string idxMacc);
/// <summary>
/// Vista v_MSFD delle machine MULTI filtrato x macchina (da stored)
/// </summary>
/// <param name="idxMacc"></param>
/// <returns></returns>
Task<List<VMSFDModel>> VMSFDGetMultiByMaccAsync(string idxMacc);
#endregion Public Methods
}
}