using EgwCoreLib.Utils; using MP.Data.DbModels.Utils; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace MP.Data.Repository.Utils { /// /// Interfaccia per le statistiche di dettaglio. /// public interface IStatsDetailRepository { #region Public Methods /// /// Recupera l'elenco delle statistiche di dettaglio per un periodo specifico, con filtri opzionali. /// /// La data di inizio del periodo. /// La data di fine del periodo. /// Filtro opzionale per l'ambiente (es. "DEV", "PROD"). /// Filtro opzionale per il tipo di statistica. /// L'elenco delle statistiche di dettaglio ordinate cronologicamente. Task> GetFiltAsync(DateTime dtStart, DateTime dtEnd, string sEnvir = "", string sType = ""); /// /// Elenco record in modalità pareto /// /// /// /// /// /// /// Task> GetParetoAsync(DateTime dtStart, DateTime dtEnd, int maxRec, string sDest = "", string sType = ""); /// /// Recupera l'intervallo temporale disponibile nel database per le statistiche di dettaglio. /// /// Filtro opzionale per l'ambiente. /// Filtro opzionale per il tipo. /// L'intervallo di date (minima e massima ora presente). Task GetRangeAsync(string sEnvir, string sType); /// /// Inserisce o aggiorna in blocco le statistiche di dettaglio nel database. /// /// L'elenco dei record da inserire. /// Se true, elimina preventivamente i record nel periodo richiesto. /// Il numero di record inseriti. Task UpsertManyAsync(List listRecords, bool removeOld); #endregion Public Methods } }