using SoftwareInstallationContracts.BindingModels;
using SoftwareInstallationContracts.SearchModels;
using SoftwareInstallationContracts.ViewModels;
using SoftwareInstallationDataModels.Models;

namespace SoftwareInstallationContracts.BusinessLogicsContracts
{
    public interface IShopLogic
    {
        List<ShopViewModel>? ReadList(ShopSearchModel? model);
        ShopViewModel? ReadElement(ShopSearchModel model);
        bool Create(ShopBindingModel model);
        bool Update(ShopBindingModel model);
        bool Delete(ShopBindingModel model);
        bool AddPackage(ShopSearchModel model, IPackageModel package, int count);
        int GetFreePlacesWithPackagesInShops(int countPackages);
        bool AddPackagesInShops(IPackageModel package, int count);
        public bool SellPackages(IPackageModel package, int needCount);
    }
}
