using IceCreamShopContracts.BindingModels;
using IceCreamShopContracts.ViewModels;

namespace IceCreamShopContracts.BusinessLogicsContracts
{
    public interface IReportLogic
    {
        List<ReportIceCreamComponentViewModel> GetIceCreamComponents();

        List<ReportShopIceCreamViewModel> GetShopIceCreams();

        List<ReportOrdersViewModel> GetOrders(ReportBindingModel model);

        List<ReportOrdersByDateViewModel> GetGroupedByDateOrders();

        void SaveIceCreamsToWordFile(ReportBindingModel model);

        void SaveShopsToWordFile(ReportBindingModel model);

        void SaveIceCreamComponentToExcelFile(ReportBindingModel model);

        void SaveShopIceCreamToExcelFile(ReportBindingModel model);

        void SaveOrdersToPdfFile(ReportBindingModel model);

        void SaveGroupedOrdersToPdfFile(ReportBindingModel model);
    }
}