using EgwCoreLib.Utils; using MP.Core.DTO; using MP.Data.DbModels.Utils; using MP.Data.DTO; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace MP.Data.Services.Utils { public interface IStatsCodeService { #region Public Methods /// /// Recupera l'elenco delle statistiche StatusCode per un periodo specificato. /// Utilizza la cache automaticamente. /// /// Data inizio periodo /// Data fine periodo Task> GetFiltAsync(DateTime dtStart, DateTime dtEnd); /// /// Restituisce un dizionario di elaborazioni di tipo Pareto su orizzonte giornaliero /// Ogni elaborazione contiene Dictionary in forma pareto per una data statistica /// /// Task>> GetParetoStatsDayAsync(int numDay); /// /// Restituisce un dizionario di elaborazioni di tipo Pareto su orizzonte settimanale /// Ogni elaborazione contiene Dictionary in forma pareto per una data statistica /// /// Task>> GetParetoStatsWeekAsync(); /// /// Recupera il range di periodi valido per le chiamate StatusCode. /// Utilizza la cache automaticamente. /// Task GetRangeAsync(); /// /// Helper conversione dati aggregati in statistiche da inviare a ChartJS /// /// /// List GetTimeSeriesData(List rawData); /// /// Inserisce o aggiorna in batch le statistiche StatusCode 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 } }