shoc-backend/SeaHaven.Services/Interfaces/IDispatchService.cs
2026-07-24 11:24:05 -03:00

22 lines
1.2 KiB
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();
Task<DispatchListResultDTO> GetDispatchListAsync(string? search, string? status, int? vendorId, DateTime? dateFrom, DateTime? dateTo, string? sortBy, string? sortDir, int page, int pageSize, CancellationToken cancellationToken);
Task<DispatchDetailResultDTO?> GetDispatchDetailAsync(int id, CancellationToken cancellationToken);
}
}