Files
Data-Coupler/Data_Coupler/Services/IScheduledProfileExecutionService.cs
Alessio Dal Santo e35de1614f [Feature] Disabilitata deletion sync nei trasferimenti manuali e aggiunta configurazione nelle schedulazioni
- Disabilitata completamente la sincronizzazione eliminazioni nei trasferimenti manuali (DataCoupler.razor.cs)
- Aggiunto campo EnableDeletionSync al modello ProfileSchedule (default: false)
- Implementata logica condizionale in ScheduledProfileExecutionService per deletion sync
- Aggiunta sezione 'Opzioni Avanzate' nell'interfaccia schedulazione con warning
- Creata migration Entity Framework AddEnableDeletionSyncToProfileSchedule
- Aggiornato BackupModels per supporto backup/restore del nuovo campo
- Aggiornata documentazione README.md e copilot-instructions.md
- La deletion sync è ora disponibile solo per schedulazioni con configurazione esplicita per massima sicurezza
2026-01-23 15:52:15 +01:00

31 lines
1.1 KiB
C#

namespace Data_Coupler.Services;
/// <summary>
/// Risultato dell'esecuzione di un profilo schedulato
/// </summary>
public class ProfileExecutionResult
{
public bool Success { get; set; }
public string Message { get; set; } = string.Empty;
public int RecordsProcessed { get; set; }
public DateTime ExecutionTime { get; set; }
public TimeSpan Duration { get; set; }
}
/// <summary>
/// Interfaccia per l'esecuzione di profili schedulati
/// </summary>
public interface IScheduledProfileExecutionService
{
/// <summary>
/// Esegue un profilo Data Coupler specificato dall'ID
/// </summary>
Task<ProfileExecutionResult> ExecuteProfileAsync(int profileId);
/// <summary>
/// Esegue un profilo Data Coupler specificato dall'ID con configurazione sincronizzazione eliminazioni
/// </summary>
/// <param name="profileId">ID del profilo da eseguire</param>
/// <param name="enableDeletionSync">Se true, sincronizza le eliminazioni dalla sorgente alla destinazione</param>
Task<ProfileExecutionResult> ExecuteProfileAsync(int profileId, bool enableDeletionSync);
}