diff --git a/Bank/BankBusinessLogic/BusinessLogic/ReportLogic.cs b/Bank/BankBusinessLogic/BusinessLogic/ReportLogic.cs index a4e362c..b855d0b 100644 --- a/Bank/BankBusinessLogic/BusinessLogic/ReportLogic.cs +++ b/Bank/BankBusinessLogic/BusinessLogic/ReportLogic.cs @@ -1,4 +1,5 @@ -using BankContracts.BusinessLogicsContracts; +using BankBusinessLogic.OfficePackage; +using BankContracts.BusinessLogicsContracts; using BankContracts.SearchModels; using BankContracts.StoragesContracts; using BankContracts.ViewModels; @@ -13,34 +14,51 @@ namespace BankBusinessLogic.BusinessLogic { public class ReportLogic : IReportLogic { - private readonly ILogger _logger; private readonly ICardStorage _cardStorage; private readonly IAccountStorage _accountStorage; - public ReportLogic(ILogger logger, ICardStorage cardStorage, IAccountStorage accountStorage) + private readonly AbstractSaveToExcel _saveToExcel; + private readonly AbstractSaveToWord _saveToWord; + private readonly AbstractSaveToPdf _saveToPdf; + public ReportLogic( + ICardStorage cardStorage, + IAccountStorage accountStorage, + AbstractSaveToExcel saveToExcel, + AbstractSaveToWord saveToWord, + AbstractSaveToPdf saveToPdf) { - _logger = logger; _cardStorage = cardStorage; _accountStorage = accountStorage; - } - - public List CreateReportOperationsRequests(CardSearchModel model) - { - return _cardStorage.GetReportOperationsRequestsList(model); - } + _saveToExcel = saveToExcel; + _saveToWord = saveToWord; + _saveToPdf = saveToPdf; + } + #region//списки заявок по выбранным счетам в формате word и excel public List CreateReportRequests(AccountSearchModel model) { return _accountStorage.GetRequestsReport(model); } + #endregion - public List CreateReportTransfers(CardSearchModel model) + #region//списки переводов по выбранным картам в формате word и excel + public List CreateReportTransfers(CardSearchModel model) { return _cardStorage.GetReportTransfersList(model); } + #endregion - public List CreateReportTransfersWithdrawals(AccountSearchModel model) + #region//отчеты по картам за период с расшифровкой по заявкам и операциям в формате pdf + public List CreateReportOperationsRequests(CardSearchModel model) + { + return _cardStorage.GetReportOperationsRequestsList(model); + } + #endregion + + #region//отчеты по счетам за период с расшифровкой по переводам и выдачам в формате pdf + public List CreateReportTransfersWithdrawals(AccountSearchModel model) { return _accountStorage.GetTransfersWithdrawalsReport(model); - } - } + } + #endregion + } } diff --git a/Bank/BankRestApi/Program.cs b/Bank/BankRestApi/Program.cs index bb6a7e2..b0191c9 100644 --- a/Bank/BankRestApi/Program.cs +++ b/Bank/BankRestApi/Program.cs @@ -1,4 +1,6 @@ using BankBusinessLogic.BusinessLogic; +using BankBusinessLogic.OfficePackage; +using BankBusinessLogic.OfficePackage.Implements; using BankContracts.BusinessLogicsContracts; using BankContracts.StoragesContracts; using BankDatabaseImplement.Implements; @@ -35,6 +37,10 @@ builder.Services.AddTransient(); builder.Services.AddTransient(); builder.Services.AddTransient(); +builder.Services.AddTransient(); +builder.Services.AddTransient(); +builder.Services.AddTransient(); + builder.Services.AddLogging(option => { option.SetMinimumLevel(LogLevel.Information);