using TF6760ApiTest.Models;

namespace TF6760ApiTest.Services
{
    public interface IProductService
    {
        Task<List<Product>> GetProductsAsync();
        Task<Product?> GetProductByIdAsync(int id);
        Task<Product> AddProductAsync(Product product);
        Task<Product> UpdateProductAsync(Product product);
        Task DeleteProductAsync(int id);

        // 新增分页查询方法
        Task<PagedResult<Product>> GetProductsPagedAsync(int pageNumber, int pageSize);

        // 新增：根据 BarCode 查询产品
        Task<Product?> GetProductByBarCodeAsync(string barCode);

        // 新增：根据 BarCode 删除产品
        Task DeleteProductByBarCodeAsync(string barCode);
    }
}
