using System.Collections.Generic;
using System.Threading.Tasks;
using DiplomovaPrace.Contracts.ProductCategories.InputModels;
using DiplomovaPrace.Contracts.ProductCategories.ViewModels;

namespace DiplomovaPrace.Web.Admin.Services
{
	public interface IProductCategoryService
	{
		Task CreateProductCategoryAsync(ProductCategoryIM inputModel);

		Task RequestProductCategoriesAsync();

		Task<ProductCategoryDto> GetProductCategoryByIDAsync(int categoryID);

		Task<List<ProductCategoryDto>> GetCategoryDescendantsAsync(int categoryID);

		Task UpdateProductCategoryAsync(ProductCategoryDto inputModel);

		Task<bool> DeleteProductCategoryAsync(int categoryID);
	}
}
