shoc-backend/SeaHaven.Services/Interfaces/IDispatchService.cs
2026-04-28 18:55:14 -05:00

19 lines
917 B
C#

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