using FishFactoryContracts.BindingModels;
using FishFactoryContracts.ViewModels;

namespace FishFactoryContracts.BusinessLogicsContracts
{
    public interface IReportLogic
    {
        /// <summary>
        /// Получение списка индгредиентов с указанием, в каких консервы используются
        /// </summary>
        /// <returns></returns>
        List<ReportCannedIngredientViewModel> GetCannedIngredient();

        /// <summary>
        /// Получение списка заказов за определенный период
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        List<ReportOrdersViewModel> GetOrders(ReportBindingModel model);

        /// <summary>
        /// Сохранение индгредиентов в файл-Word
        /// </summary>
        /// <param name="model"></param>
        void SaveListCannedToWordFile(ReportBindingModel model);

        /// <summary>
        /// Сохранение индгредиентов с указаеним консерв в файл-Excel
        /// </summary>
        /// <param name="model"></param>
        void SaveCannedIngredientToExcelFile(ReportBindingModel model);

        /// <summary>
        /// Сохранение заказов в файл-Pdf
        /// </summary>
        /// <param name="model"></param>
        void SaveOrdersToPdfFile(ReportBindingModel model);
    }
}
