namespace EgwCoreLib.Lux.Data.Services.General { /// /// Interfaccia servizio indice richieste /// public interface ICalcRuidService { #region Public Methods /// /// Metodo Creazione nuova richiesta /// /// Environment calcolo /// Tipologia richiesta /// UID di riferimento /// restituisce il valore del RUID (ID univoco richiesta) Task AddRequestAsync(string envir, string tipo, string uid); /// /// Effettua pulizia delle statistiche collezionate una volta migrate sul DB /// /// Lista delle chiavi da eliminare da Redis /// Task CleanupStatsAsync(List keysToDelete); /// /// Metodo di Aggiornamento richiesta esistente /// /// RUID richiesta /// HashKey della richiesta Task CompleteRequestAsync(string ruid); /// /// Espostazione statistiche da REDIS al DB /// /// Se true, cancella le statistiche da Redis dopo l'esportazione /// True se esportazione completata con successo Task ExportStatsToDbAsync(bool clearRedisAfterExport = false); /// /// Metodo Recupero combinazioni envir/tipo /// /// Elenco di combinazioni envir|tipo Task> GetCombinationsAsync(); /// /// Gestione statistiche (da rivedere) /// /// Elenco di statistiche detail da Redis Task> GetOldStatsFromRedisAsync(); /// /// Metodo Recupero richieste per UID /// /// UID di riferimento /// Elenco di RUID associati all'UID Task> GetRequestsByUidAsync(string uid); /// /// Metodo Statistiche aggregate /// /// Dati statistici in tempo reale Task GetStatsAsync(); /// /// Restituisce le statistiche per range date /// /// DataOra inizio /// DataOra fine /// Range di statistiche Task GetStatsRangeAsync(DateTime from, DateTime to); /// /// Restituisce le statistiche RealTime da REDIS /// /// Raggruppamento orario richiesto (giornaliero/orario) /// Tipologia dati richiesti (environment/mode) /// DataOra inizio recupero /// /// Elenco di dati statistici in tempo reale Task> RealTimeDataStats(RuidGroupMode reqGroup, RuidTagMode reqTag, DateTime dtFrom); /// /// Restituisce elenco statistiche aggregate disponibili dal DB /// /// Data inizio /// Data fine /// /// Elenco di statistiche aggregate dal DB Task> StatsAggrListAsync(DateTime from, DateTime to); /// /// Restituisce il periodo valido x dati aggregati /// /// /// Periodo valido per dati aggregati Task StatsAggrRangeAsync(); #endregion Public Methods } }