using BankContracts.BindingModels;
using BankContracts.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BankContracts.BusinessLogicsContracts
{
	public interface IReportLogic
	{
		List<ReportPaymentCurrencyPurchaseViewModel> GetPaymentPurchase(List<PaymentBindingModel> payments);
		List<ReportTransferCurrencyPurchaseViewModel> GetTransferPurchase(ReportBindingModel model);
		MemoryStream SavePaymentPurchaseToWord(ReportBindingModel model, List<PaymentBindingModel> payments);
        MemoryStream SavePaymentPurchaseToExcel(ReportBindingModel model, List<PaymentBindingModel> payments);
		MemoryStream SaveTransferPurchaseToPDF(ReportBindingModel model);

		List<ReportCurrencyTransferViewModel> GetCurrencyTransfers(List<CurrencyBindingModel> currencies);
		List<ReportCurrencyPurchasePaymentViewModel> GetPurchasePayment(ReportBindingModel model);
        MemoryStream SaveCurrencyTransfersToWord(ReportBindingModel model, List<CurrencyBindingModel> currencies);
        MemoryStream SaveCurrencyTransfersToExcel(ReportBindingModel model, List<CurrencyBindingModel> currencies);
        MemoryStream SavePurchasePaymentToPDF(ReportBindingModel model);
    }
}
