refactor: reorganize Application layer into folder structure

This commit is contained in:
2026-06-01 18:15:17 +03:30
parent dca3fc62ca
commit 775ae0d9b4
50 changed files with 618 additions and 492 deletions

View File

@@ -0,0 +1,24 @@
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);
}