e35de1614f
- 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
31 lines
1.1 KiB
C#
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);
|
|
} |