using CarServiceContracts.BindingModels;
using CarServiceContracts.ViewModels;

namespace CarServiceContracts.BusinessLogicsContracts
{
	public interface IReportLogic
	{
		/// <summary>
		/// Получение списка заявок по выбранным работам
		/// </summary>
		/// <returns></returns>
		List<ReportWorkWithRequestsViewModel> GetRequestsByWorks(ReportBindingModel model);
		/// <summary>
		/// Получение списка оплат за определенный период
		/// </summary>
		/// <param name="model"></param>
		/// <returns></returns>
		List<ReportWorksWithPaymentsViewModel> GetPayments(ReportBindingModel model);
		/// <summary>
		/// Сохранение компонент в файл-Word
		/// </summary>
		/// <param name="model"></param>
		void SaveComponentsToWordFile(ReportBindingModel model);
		/// <summary>
		/// Сохранение компонент с указаеним продуктов в файл-Excel
		/// </summary>
		/// <param name="model"></param>
		void SaveManufactureComponentToExcelFile(ReportBindingModel model);
		/// <summary>
		/// Сохранение заказов в файл-Pdf
		/// </summary>
		/// <param name="model"></param>
		void SaveOrdersToPdfFile(ReportBindingModel model);
	}
}