using SecureShopContracts.BindingModels;
using SecureShopContracts.ViewModels;

namespace SecureShopContracts.BusinessLogicsContracts
{
    public interface IReportLogic
    {
        /// <summary>
        /// Получение списка добавок с указанием, в каких мороженых используются
        /// </summary>
        /// <returns></returns>
        List<ReportSecureFacilitieViewModel> GetSecureFacilitie();
        /// <summary>
        /// Получение списка заказов за определенный период
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        List<ReportOrdersViewModel> GetOrders(ReportBindingModel model);
        /// <summary>
        /// Сохранение добавок в файл-Word
        /// </summary>
        /// <param name="model"></param>
        void SaveSecuresToWordFile(ReportBindingModel model);
        /// <summary>
        /// Сохранение добавок с указаеним мороженых в файл-Excel
        /// </summary>
        /// <param name="model"></param>
        void SaveSecureFacilitieToExcelFile(ReportBindingModel model);
        /// <summary>
        /// Сохранение заказов в файл-Pdf
        /// </summary>
        /// <param name="model"></param>
        void SaveOrdersToPdfFile(ReportBindingModel model);
    }
}
