Files
GreenHomeBack/src/GreenHome.Application/IAlertConditionService.cs

26 lines
1.4 KiB
C#

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