using SeaHaven.Services.DTOs; namespace SeaHaven.Services.Interfaces { public interface IDispatchService { Task GetDispatchByIdAsync(int id); Task GetDispatchByIdWithDetailsAsync(int id); Task> GetAllDispatchesAsync(); Task> GetDispatchesByVendorIdAsync(int vendorId); Task> GetDispatchesPagedAsync(int page, int pageSize, string? search = null, string? status = null); Task CreateDispatchAsync(CreateDispatchDTO dto, string userId); Task UpdateDispatchAsync(int id, UpdateDispatchDTO dto, string userId); Task DeleteDispatchAsync(int id, string userId); Task DispatchExistsAsync(int id); Task GenerateNextDispatchNumberAsync(); Task GetTotalDispatchCountAsync(); } }