using OOO_WriteAndClear.DBModels; using OOO_WriteAndClear.MVP.Models.OrderFormerer; using OOO_WriteAndClear.MVP.Models.ProductsUserControlModel; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace OOO_WriteAndClear.MVP.MVPInterfaces { public interface IProductsUserControlContract { public interface IView { public void ChangeDisplayingBasketData(Order order); } public interface IPresenter { public int GetAllProductsCount(); public ICollection FilterSearchSortProducts(FilterSearchSortParameters parameters); public Task> UpdateProductsList(FilterSearchSortParameters parameters); public void AddProductIntoOrder(Product product); public void RemoveProductFromOrder(Product product); public OrderFormerer GetCurrentOrderFormerer(); } public interface IModel { public ICollection Products { get; } public int GetAllProductsCount(); public void FilterSearchSortProducts(FilterSearchSortParameters parameters); public Task UpdateProductsList(FilterSearchSortParameters parameters); public void AddProductIntoOrder(Product product, Action CallBackIfProductAddedInOrder); public void RemoveProductFromOrder(Product product, Action CallBackIfProductRemovedInOrder); public OrderFormerer GetCurrentOrderFormerer(); } } }