namespace EgwCoreLib.Lux.Data.Services.Stats
{
public interface IStatsDetailService
{
#region Public Methods
///
/// Recupera le statistiche di dettaglio per un periodo specificato, con filtri opzionali su ambiente e tipo.
/// Utilizza la cache automaticamente.
///
/// Data inizio periodo
/// Data fine periodo
/// Filtro opzionale per ambiente (default: vuoto = tutti)
/// Filtro opzionale per tipo (default: vuoto = tutti)
Task> GetFiltAsync(DateTime dtStart, DateTime dtEnd, string sEnvir = "", string sType = "");
///
/// Recupera il range di periodi valido per le chiamate di dettaglio.
/// Utilizza la cache automaticamente.
///
/// Ambiente filtrato
/// Tipo filtrato
Task GetRangeAsync(string sEnvir, string sType);
///
/// Inserisce o aggiorna in batch le statistiche di dettaglio nel database.
/// Opzionalmente elimina i record precedenti nel periodo specificato.
///
/// Elenco dei record da inserire/aggiornare
/// Se true elimina preventivamente i record nel periodo richiesto
Task UpsertManyAsync(List listRecords, bool removeOld);
#endregion Public Methods
}
}