using Data.SeaHavenIndustries; namespace SeaHaven.DataServices.Interfaces { public interface IDispatchDataService { Task GetByIdAsync(int id); Task GetByIdWithDetailsAsync(int id); Task> GetAllAsync(); Task> GetByVendorIdAsync(int vendorId); Task> GetByStatusAsync(string status); Task<(IEnumerable Items, int TotalCount)> GetPagedAsync(int page, int pageSize, string? search = null, string? status = null); Task AddAsync(Dispatch dispatch); Task UpdateAsync(Dispatch dispatch); Task DeleteAsync(int id); Task ExistsAsync(int id); Task GenerateNextDispatchNumberAsync(); Task CountAsync(); } }