Files
mapo-core/MP.Data/Services/Utils/IStatsDetailService.cs
T
Samuele Locatelli 45cb6b9f59 Fix integrazione preliminare servizi utils.stats x IOC:
- aggiunta migrations
- correzioni versione ef6 da ef8
- correzioni init varie
2026-04-07 10:30:04 +02:00

41 lines
1.7 KiB
C#

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