namespace GreenHome.Application; public interface IAlertConditionService { Task> GetByDeviceIdAsync(int deviceId, CancellationToken cancellationToken); Task GetByIdAsync(int id, CancellationToken cancellationToken); Task CreateAsync(CreateAlertConditionRequest request, CancellationToken cancellationToken); Task UpdateAsync(UpdateAlertConditionRequest request, CancellationToken cancellationToken); Task DeleteAsync(int id, CancellationToken cancellationToken); Task ToggleEnabledAsync(int id, bool isEnabled, CancellationToken cancellationToken); /// /// دریافت شرایط هشدار رله‌ای (notificationType > 0) برای یک دستگاه /// Task> GetRelayConditionsAsync(int deviceId, CancellationToken cancellationToken); /// /// دریافت شرایط هشدار رله‌ای که بعد از تاریخ مشخصی به‌روزرسانی شده‌اند /// اگر هیچ رکوردی به‌روزرسانی نشده باشد، لیست خالی برمی‌گرداند /// Task> GetUpdatedRelayConditionsAsync(int deviceId, DateTime? lastUpdateDate, CancellationToken cancellationToken); Task HasUpdatedConditionsAsync(int deviceId, DateTime? lastUpdateDate, CancellationToken cancellationToken); }