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 aggregate. /// public interface IStatsAggrRepository { /// /// Recupera l'elenco delle statistiche aggregate per un periodo specifico. /// /// La data di inizio del periodo. /// La data di fine del periodo. /// L'elenco delle statistiche aggregate ordinate cronologicamente. Task> GetFiltAsync(DateTime dtStart, DateTime dtEnd); /// /// Recupera l'intervallo temporale disponibile nel database per le statistiche aggregate. /// /// L'intervallo di date (minima e massima ora presente). Task GetRangeAsync(); /// /// Inserisce o aggiorna in blocco le statistiche aggregate 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); } }