Интерфейс для отчетов

This commit is contained in:
Artyom_Yashin 2024-05-03 11:55:28 +04:00
parent 9c2aedc608
commit 8a24063686
5 changed files with 69 additions and 1 deletions

View File

@ -0,0 +1,46 @@
using BankContracts.BusinessLogicsContracts;
using BankContracts.SearchModels;
using BankContracts.StoragesContracts;
using BankContracts.ViewModels;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
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)
{
_logger = logger;
_cardStorage = cardStorage;
_accountStorage = accountStorage;
}
public List<ReportOperationsRequestsViewModel> CreateReportOperationsRequests(CardSearchModel model)
{
return _cardStorage.GetReportOperationsRequestsList(model);
}
public List<ReportRequestsViewModel> CreateReportRequests(AccountSearchModel model)
{
return _accountStorage.GetRequestsReport(model);
}
public List<ReportTransfersViewModel> CreateReportTransfers(CardSearchModel model)
{
return _cardStorage.GetReportTransfersList(model);
}
public List<ReportTransfersWithdrawalsViewModel> CreateReportTransfersWithdrawals(AccountSearchModel model)
{
return _accountStorage.GetTransfersWithdrawalsReport(model);
}
}
}

View File

@ -0,0 +1,18 @@
using BankContracts.SearchModels;
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<ReportTransfersViewModel> CreateReportTransfers(CardSearchModel model);
List<ReportOperationsRequestsViewModel> CreateReportOperationsRequests(CardSearchModel model);
List<ReportRequestsViewModel> CreateReportRequests(AccountSearchModel model);
List<ReportTransfersWithdrawalsViewModel> CreateReportTransfersWithdrawals(AccountSearchModel model);
}
}

View File

@ -13,6 +13,8 @@ namespace BankContracts.StoragesContracts
{
List<AccountViewModel> GetFullList();
List<AccountViewModel> GetFilteredList(AccountSearchModel model);
List<ReportRequestsViewModel> GetRequestsReport(AccountSearchModel model);
List<ReportTransfersWithdrawalsViewModel> GetTransfersWithdrawalsReport(AccountSearchModel model);
AccountViewModel? GetElement(AccountSearchModel model);
AccountViewModel? Insert(AccountBindingModel model);
AccountViewModel? Update(AccountBindingModel model);

View File

@ -13,6 +13,8 @@ namespace BankContracts.StoragesContracts
{
List<CardViewModel> GetFullList();
List<CardViewModel> GetFilteredList(CardSearchModel model);
List<ReportTransfersViewModel> GetReportTransfersList(CardSearchModel model);
List<ReportOperationsRequestsViewModel> GetReportOperationsRequestsList(CardSearchModel model);
CardViewModel? GetElement(CardSearchModel model);
CardViewModel? Insert(CardBindingModel model);
CardViewModel? Update(CardBindingModel model);

View File

@ -48,7 +48,7 @@ namespace BankDatabaseImplement.Implements
}).ToList();
}
public List<ReportOperationsRequestsViewModel> GetReportOperationsREquestsList(CardSearchModel model)
public List<ReportOperationsRequestsViewModel> GetReportOperationsRequestsList(CardSearchModel model)
{
using var context = new BankDatabase();
return context.Cards