using CredentialManager.Models; namespace CredentialManager.Services; /// /// Servizio per la gestione delle schedulazioni dei profili /// public interface IProfileScheduleService { Task> GetAllSchedulesAsync(); Task GetScheduleByIdAsync(int id); Task CreateScheduleAsync(ProfileSchedule schedule); Task UpdateScheduleAsync(ProfileSchedule schedule); Task DeleteScheduleAsync(int id); Task> GetActiveSchedulesAsync(); Task> GetPendingExecutionsAsync(); Task UpdateExecutionStatusAsync(int scheduleId, string status, string? message = null, int? recordCount = null); Task UpdateNextExecutionTimeAsync(int scheduleId); Task> GetAvailableProfilesAsync(); // Metodi per lo storico delle esecuzioni Task CreateExecutionHistoryAsync(ScheduleExecutionHistory history); Task UpdateExecutionHistoryAsync(ScheduleExecutionHistory history); Task> GetExecutionHistoryAsync(int scheduleId, int? limit = null); Task> GetRecentExecutionsAsync(int limit = 50); Task GetExecutionByIdAsync(int executionId); }