using Contracts.BindingModels;
using Contracts.SearchModels;
using Contracts.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Contracts.StorageContracts
{
	public interface IPurchaseStorage
	{
        PurchaseViewModel? Insert(PurchaseBindingModel model);

		List<PurchaseViewModel> GetFullList(PurchaseSearchModel? model);
        List<PurchaseViewModel> GetFilteredList(PurchaseSearchModel? model);

        PurchaseViewModel? GetElement(PurchaseSearchModel model);

        PurchaseViewModel? Update(PurchaseBindingModel model);

        PurchaseViewModel? Delete(PurchaseSearchModel model);
	}
}
