using ComputerHardwareStoreContracts.BindingModels;
using ComputerHardwareStoreContracts.ViewModels;

namespace ComputerHardwareStoreContracts.BusinessLogicsContracts
{
	public interface IReportLogic
	{
		/// <summary>
		/// Получение списка товаров по сборкам
		/// </summary>
		/// <returns></returns>
		List<ReportProductBuildViewModel> GetProductBuild();
		/// <summary>
		/// Получение списка сборок по товарам
		/// </summary>
		/// <returns></returns>
		List<ReportBuildProductViewModel> GetBuildProduct();
		/// <summary>
		/// Получение списка покупок за период с комплектующими и комментариями
		/// </summary>
		/// <param name="model"></param>
		/// <returns></returns>
		//List<ReportOrdersViewModel> GetOrders(ReportBindingModel model);
		/// <summary>
		/// Получение списка комплектующих с покупками и заказами за период
		/// </summary>
		/// <param name="model"></param>
		/// <returns></returns>
		//List<ReportOrdersViewModel> GetOrders(ReportBindingModel model);
		/// <summary>
		/// Сохранение списка в файл-Word
		/// </summary>
		/// <param name="model"></param>
		void SaveListToWordFile(ReportBindingModel model);
		/// <summary>
		/// Сохранение списка в файл-Excel
		/// </summary>
		/// <param name="model"></param>
		void SaveListToExcelFile(ReportBindingModel model);
	}
}