using BankYouBankruptBusinessLogic.OfficePackage; using BankYouBankruptBusinessLogic.OfficePackage.HelperModels; using BankYouBankruptContracts.BindingModels; using BankYouBankruptContracts.BusinessLogicsContracts; using BankYouBankruptContracts.SearchModels; using BankYouBankruptContracts.StoragesContracts; using BankYouBankruptContracts.ViewModels; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BankYouBankruptBusinessLogic.BusinessLogics { public class ReportCashierLogic : IReportCashierLogic { private readonly IMoneyTransferStorage _moneyTransferStorage; private readonly ICashWithdrawalStorage _cashWithdrawalStorage; private readonly IAccountStorage _accountStorage; private readonly AbstractSaveToExcelCashier _saveToExcel; private readonly AbstractSaveToWordCashier _saveToWord; private readonly AbstractSaveToPdfCashier _saveToPdf; //инициализируем поля класса через контейнер public ReportCashierLogic(IMoneyTransferStorage moneyTransferStorage, ICashWithdrawalStorage cashWithdrawalStorage, IAccountStorage accountStorage, AbstractSaveToExcelCashier saveToExcel, AbstractSaveToWordCashier saveToWord, AbstractSaveToPdfCashier saveToPdf) { _moneyTransferStorage = moneyTransferStorage; _cashWithdrawalStorage = cashWithdrawalStorage; _accountStorage = accountStorage; _saveToExcel = saveToExcel; _saveToWord = saveToWord; _saveToPdf = saveToPdf; } public List? GetMoneyTransfers(ReportBindingModel model) { return _moneyTransferStorage.GetFilteredList(new MoneyTransferSearchModel { DateFrom = model.DateFrom, DateTo = model.DateTo}) .Select(x => new ReportCashierViewModel { DateComplite = x.DateOperation, AccountPayeeId = x.AccountPayeeId, AccountSenderId = x.AccountSenderId, SumOperation = x.Sum }) .ToList(); } public List? GetCashWithrawals(ReportBindingModel model) { return _cashWithdrawalStorage.GetFilteredList(new CashWithdrawalSearchModel { DateFrom = model.DateFrom, DateTo = model.DateTo }) .Select(x => new ReportCashierViewModel { AccountPayeeId = x.Id, DateComplite = x.DateOperation, SumOperation = x.Sum }) .ToList(); } //Сохранение мороженных в файл-Word public void SaveAccountsToWordFile(ReportBindingModel model) { throw new NotImplementedException(); } //Сохранение заготовок с указаеним изделий в файл-Excel public void SaveAccountsToExcelFile(ReportBindingModel model) { throw new NotImplementedException(); } //Сохранение заказов в файл-Pdf public void SaveAccountsToPdfFile(ReportBindingModel model) { throw new NotImplementedException(); } } }