using System;
using System.Threading.Tasks;
using Skcks.Study.AbpProject.Categories;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;

namespace Skcks.Study.AbpProject.Products;

public interface IProductAppService: IApplicationService
{
    Task<PagedResultDto<ProductDto>> GetListAsync(PagedAndSortedResultRequestDto input);
    Task CreateAsync(CreateUpdateProductDto input);
    Task<ListResultDto<CategoryLookupDto>> GetCategoriesAsync();

    Task<ProductDto> GetAsync(Guid id);
    Task UpdateAsync(Guid id, CreateUpdateProductDto inputDto);
    Task DeleteAsync(Guid id);
}