shoc-backend/SeaHaven.DataServices/Interfaces/IFollowUpDataService.cs
2026-07-24 11:24:05 -03:00

29 lines
1.6 KiB
C#

using Data.SeaHavenIndustries;
namespace SeaHaven.DataServices.Interfaces
{
public interface IFollowUpDataService
{
Task<FollowUps?> GetByIdAsync(int id);
Task<FollowUps?> GetByIdWithDetailsAsync(int id);
Task<IEnumerable<FollowUps>> GetAllAsync();
Task<IEnumerable<FollowUps>> GetByWorkOrderIdAsync(int workOrderId);
Task<IEnumerable<FollowUps>> GetByUserIdAsync(string userId);
Task<(IEnumerable<FollowUps> Items, int TotalCount)> GetPagedAsync(int page, int pageSize, string? search = null, string? status = null);
Task<FollowUps> AddAsync(FollowUps followUp);
Task UpdateAsync(FollowUps followUp);
Task DeleteAsync(int id);
Task<bool> ExistsAsync(int id);
Task<int> CountAsync();
Task<List<FollowUps>> GetListPagedAsync(int page, int pageSize, string? search, string? status, CancellationToken cancellationToken);
Task<int> GetListTotalAsync(string? search, string? status, CancellationToken cancellationToken);
Task<FollowUps?> GetDetailByIdAsync(int id, CancellationToken cancellationToken);
Task<FollowUps?> GetByIdForUpdateAsync(int id, CancellationToken cancellationToken);
Task<string> GetUserNameAsync(string? userId, CancellationToken cancellationToken);
Task<FollowUps> AddAsync(FollowUps followUp, CancellationToken cancellationToken);
Task UpdateAsync(FollowUps followUp, CancellationToken cancellationToken);
Task<bool> SetStatusAsync(int id, string status, CancellationToken cancellationToken);
Task<bool> RemoveByIdAsync(int id, CancellationToken cancellationToken);
}
}