using IceCreamShopContracts.BindingModels;
using IceCreamShopContracts.SearchModels;
using IceCreamShopContracts.ViewModels;
using IceCreamShopDataModels.Models;

namespace IceCreamShopContracts.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 MakeShipment(ShopSearchModel shopModel, IIceCreamModel iceCream, int count);

        bool MakeSale(IIceCreamModel model, int count);
    }
}
