using IWS5.DatabaseAccess.IwsDataModels;

namespace IWS5.DatabaseAccess.Interfaces.IAdmin;

public interface IScheduleRepository
{
    Task<List<AtscheduledItem>> ListAsync();
    Task<AtscheduledItem?> GetByIdAsync(int scheduleId);
    Task AddAsync(AtscheduledItem entity);
    Task UpdateAsync(AtscheduledItem entity);
    Task DeleteAsync(AtscheduledItem entity);

    Task<bool> UpdateStatusAsync(int scheduleId, bool enabled, int statusId);
    Task<bool> RunScheduleAsync(int scheduleId);

    Task<List<AtscheduleType>> ListScheduleTypesAsync();
    Task<AtscheduleType?> GetScheduleTypeByIdAsync(int scheduleTypeId);
    Task<bool> ExistsByNameAsync(string name);
}
