using SeaHaven.Services.DTOs; namespace SeaHaven.Services.Interfaces { public interface IWorkOrderService { Task GetWorkOrderByIdAsync(int id); Task GetWorkOrderByIdWithDetailsAsync(int id); Task> GetAllWorkOrdersAsync(); Task> GetWorkOrdersPagedAsync(int page, int pageSize, string? search = null, string? status = null, string? priority = null); Task CreateWorkOrderAsync(CreateWorkOrderDTO dto, string userId); Task UpdateWorkOrderAsync(int id, UpdateWorkOrderDTO dto, string userId); Task DeleteWorkOrderAsync(int id, string userId); Task WorkOrderExistsAsync(int id); Task GenerateNextInternalWONumberAsync(); Task GetTotalWorkOrderCountAsync(); } }