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