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

namespace VeterinaryContracts.StorageContracts
{
	public interface IMedicationStorage
	{
		List<MedicationViewModel> GetFullList();
		List<MedicationViewModel> GetFilteredList(MedicationSearchModel model);
		MedicationViewModel? GetElement(MedicationSearchModel model);
		MedicationViewModel? Insert(MedicationBindingModel model);
		MedicationViewModel? Update(MedicationBindingModel model);
		MedicationViewModel? Delete(MedicationBindingModel model);
		List<ReportPurchaseMedicationViewModel> GetReportMedicationPurchasesList(ListPurchasesSearchModel model);
		List<ReportDrugsVisitsViewModel> GetReportDrugsVisits(ReportDrugsVisitsSearchModel model);


	}
}
