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

18 lines
779 B
C#

using SeaHaven.Services.DTOs;
namespace SeaHaven.Services.Interfaces
{
public interface IAssetService
{
Task<AssetDTO?> GetAssetByIdAsync(int id);
Task<AssetDTO?> GetAssetByIdWithDetailsAsync(int id);
Task<IEnumerable<AssetDTO>> GetAllAssetsAsync();
Task<IEnumerable<AssetDTO>> GetAssetsByLocationIdAsync(int locationId);
Task<PagedResult<AssetDTO>> GetAssetsPagedAsync(int page, int pageSize, string? search = null);
Task<AssetDTO> CreateAssetAsync(CreateAssetDTO dto, string userId);
Task<AssetDTO> UpdateAssetAsync(int id, UpdateAssetDTO dto, string userId);
Task DeleteAssetAsync(int id, string userId);
Task<bool> AssetExistsAsync(int id);
Task<int> GetTotalAssetCountAsync();
}
}