using SecuritySystemContracts.BindingModels; using SecuritySystemContracts.SearchModels; using SecuritySystemContracts.ViewModels; using SecuritySystemDataModels.Models; namespace SecuritySystemContracts.BusinessLogicsContracts { public interface IShopLogic { ShopViewModel? ReadElement(ShopSearchModel model); List? ReadList(ShopSearchModel? model); bool Create(ShopBindingModel model); bool Update(ShopBindingModel model); bool Delete(ShopBindingModel model); /// /// Продает продукт со всех магазинов в заданном количестве /// bool SellSecures(ISecureModel model, int count); /// /// Проверяет наличие определенного количества продукта суммарно по всем магазинам /// bool CheckSecuresCount(ISecureModel model, int count); /// /// Проверяет можно ли пополнить конкретный магазин продукцией в указанном количестве /// bool CheckSupplySecures(ShopSearchModel shopSearchModel, int count); /// /// Проверяет можно ли распределить во все магазины продукты в указанном количестве /// bool CheckSupplySecures(int count); /// /// Пополняет конкретный магазин продуктом в указанном количестве /// bool SupplySecures(ShopSearchModel model, ISecureModel secure, int count); /// /// Рапределяет по всем магазинам продукт в указанном количестве /// bool SupplySecures(ISecureModel secure, int count); } }