CashierDiagram
This commit is contained in:
parent
d0bbf007c4
commit
23e1580c93
@ -3,6 +3,8 @@ using BankYouBankruptContracts.BusinessLogicsContracts;
|
|||||||
using BankYouBankruptContracts.SearchModels;
|
using BankYouBankruptContracts.SearchModels;
|
||||||
using BankYouBankruptContracts.StoragesContracts;
|
using BankYouBankruptContracts.StoragesContracts;
|
||||||
using BankYouBankruptContracts.ViewModels;
|
using BankYouBankruptContracts.ViewModels;
|
||||||
|
using BankYouBankruptContracts.ViewModels.Client.Diagram;
|
||||||
|
using BankYouBankruptDataModels.Enums;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@ -17,11 +19,16 @@ namespace BankYouBankruptBusinessLogic.BusinessLogics
|
|||||||
private readonly ILogger _logger;
|
private readonly ILogger _logger;
|
||||||
|
|
||||||
private readonly IAccountStorage _accountStorage;
|
private readonly IAccountStorage _accountStorage;
|
||||||
|
private readonly ICashWithdrawalLogic _cashWithdrawalLogic;
|
||||||
|
private readonly IMoneyTransferLogic _moneyTransferLogic;
|
||||||
|
|
||||||
public AccountLogic(ILogger<AccountLogic> logger, IAccountStorage accountStorage)
|
public AccountLogic(ILogger<AccountLogic> logger, IAccountStorage accountStorage,
|
||||||
|
ICashWithdrawalLogic cashWithdrawalLogic, IMoneyTransferLogic moneyTransferLogic)
|
||||||
{
|
{
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_accountStorage = accountStorage;
|
_accountStorage = accountStorage;
|
||||||
|
_cashWithdrawalLogic = cashWithdrawalLogic;
|
||||||
|
_moneyTransferLogic = moneyTransferLogic;
|
||||||
}
|
}
|
||||||
|
|
||||||
public AccountViewModel? ReadElement(AccountSearchModel model)
|
public AccountViewModel? ReadElement(AccountSearchModel model)
|
||||||
@ -136,6 +143,36 @@ namespace BankYouBankruptBusinessLogic.BusinessLogics
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<CashierDiagramElementsViewModel> GetMonthInfo(int AccountId)
|
||||||
|
{
|
||||||
|
|
||||||
|
Dictionary<(int, int), int> cashWithdrawals = _cashWithdrawalLogic.ReadList(new CashWithdrawalSearchModel()
|
||||||
|
{
|
||||||
|
AccountId = AccountId,
|
||||||
|
}).GroupBy(x => new { x.DateOperation.Month, x.DateOperation.Year })
|
||||||
|
.Select(x => new { x.Key.Month, x.Key.Year, Sum = x.Select(y => y.Sum).Sum() }).ToDictionary(x => (x.Month, x.Year), x => (x.Sum));
|
||||||
|
Dictionary<(int, int), int> moneyTransfersDebiting = _moneyTransferLogic.ReadList(new MoneyTransferSearchModel()
|
||||||
|
{
|
||||||
|
AccountPayeeId = AccountId,
|
||||||
|
}).GroupBy(x => new { x.DateOperation.Month, x.DateOperation.Year })
|
||||||
|
.Select(x => new { x.Key.Month, x.Key.Year, Sum = x.Select(y => y.Sum).Sum() }).ToDictionary(x => (x.Month, x.Year), x => (x.Sum));
|
||||||
|
Dictionary<(int, int), int> moneyTransfers = _moneyTransferLogic.ReadList(new MoneyTransferSearchModel()
|
||||||
|
{
|
||||||
|
AccountSenderId = AccountId,
|
||||||
|
}).GroupBy(x => new { x.DateOperation.Month, x.DateOperation.Year })
|
||||||
|
.Select(x => new { x.Key.Month, x.Key.Year, Sum = x.Select(y => y.Sum).Sum() }).ToDictionary(x => (x.Month, x.Year), x => (x.Sum));
|
||||||
|
List<CashierDiagramElementsViewModel> result = new();
|
||||||
|
foreach (var key in cashWithdrawals.Keys.Union(moneyTransfersDebiting.Keys).Union(moneyTransfers.Keys))
|
||||||
|
{
|
||||||
|
int sum = 0;
|
||||||
|
if (cashWithdrawals.ContainsKey(key)) sum -= cashWithdrawals.GetValueOrDefault(key);
|
||||||
|
if (moneyTransfersDebiting.ContainsKey(key)) sum += moneyTransfersDebiting.GetValueOrDefault(key);
|
||||||
|
if (moneyTransfersDebiting.ContainsKey(key)) sum -= moneyTransfersDebiting.GetValueOrDefault(key);
|
||||||
|
result.Add(new CashierDiagramElementsViewModel() { Name = Enum.GetName(typeof(Months), key.Item1) + " " + key.Item2.ToString(), Value = sum });
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
//проверка входного аргумента для методов Insert, Update и Delete
|
//проверка входного аргумента для методов Insert, Update и Delete
|
||||||
private void CheckModel(AccountBindingModel model, bool withParams = true)
|
private void CheckModel(AccountBindingModel model, bool withParams = true)
|
||||||
{
|
{
|
||||||
|
@ -19,15 +19,15 @@ namespace BankYouBankruptBusinessLogic.BusinessLogics
|
|||||||
{
|
{
|
||||||
private readonly ILogger _logger;
|
private readonly ILogger _logger;
|
||||||
private readonly ICardStorage _cardStorage;
|
private readonly ICardStorage _cardStorage;
|
||||||
private readonly IAccountStorage _accountStorage;
|
private readonly IAccountLogic _accountLogic;
|
||||||
private readonly IDebitingLogic _debitingLogic;
|
private readonly IDebitingLogic _debitingLogic;
|
||||||
private readonly ICreditingLogic _creditingLogic;
|
private readonly ICreditingLogic _creditingLogic;
|
||||||
|
|
||||||
public CardLogic(ILogger<CardLogic> logger, ICardStorage cardStorage, IAccountStorage accountStorage,
|
public CardLogic(ILogger<CardLogic> logger, ICardStorage cardStorage, IAccountLogic accountLogic,
|
||||||
IDebitingLogic debitingLogic, ICreditingLogic creditingLogic) {
|
IDebitingLogic debitingLogic, ICreditingLogic creditingLogic) {
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_cardStorage = cardStorage;
|
_cardStorage = cardStorage;
|
||||||
_accountStorage = accountStorage;
|
_accountLogic = accountLogic;
|
||||||
_debitingLogic = debitingLogic;
|
_debitingLogic = debitingLogic;
|
||||||
_creditingLogic = creditingLogic;
|
_creditingLogic = creditingLogic;
|
||||||
}
|
}
|
||||||
@ -153,7 +153,7 @@ namespace BankYouBankruptBusinessLogic.BusinessLogics
|
|||||||
throw new InvalidOperationException("Карта с таким ноиером уже есть");
|
throw new InvalidOperationException("Карта с таким ноиером уже есть");
|
||||||
}
|
}
|
||||||
|
|
||||||
var accountElement = _accountStorage.GetElement(new AccountSearchModel
|
var accountElement = _accountLogic.ReadElement(new AccountSearchModel
|
||||||
{
|
{
|
||||||
Id = model.AccountId,
|
Id = model.AccountId,
|
||||||
ClientId = model.ClientID
|
ClientId = model.ClientID
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using BankYouBankruptContracts.BindingModels;
|
using BankYouBankruptContracts.BindingModels;
|
||||||
using BankYouBankruptContracts.ViewModels;
|
using BankYouBankruptContracts.ViewModels;
|
||||||
using BankYouBankruptContracts.ViewModels.Client.Default;
|
using BankYouBankruptContracts.ViewModels.Client.Default;
|
||||||
|
using BankYouBankruptContracts.ViewModels.Client.Diagram;
|
||||||
using BankYouBankruptDataModels.Enums;
|
using BankYouBankruptDataModels.Enums;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
@ -497,5 +498,37 @@ namespace BankYouBankruptCashierApp.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
[HttpGet]
|
||||||
|
public IActionResult Diagram()
|
||||||
|
{
|
||||||
|
if (APICashier.Cashier == null)
|
||||||
|
{
|
||||||
|
return Redirect("~/Home/Enter");
|
||||||
|
}
|
||||||
|
|
||||||
|
ViewBag.Accounts = APICashier.GetRequest<List<AccountViewModel>>($"api/Account/GetAllAccounts");
|
||||||
|
|
||||||
|
|
||||||
|
return View();
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost]
|
||||||
|
public IActionResult Diagram(int accountId)
|
||||||
|
{
|
||||||
|
if (APICashier.Cashier == null)
|
||||||
|
{
|
||||||
|
return Redirect("~/Home/Enter");
|
||||||
|
}
|
||||||
|
|
||||||
|
ViewBag.Accounts = APICashier.GetRequest<List<AccountViewModel>>($"api/Account/GetAllAccounts");
|
||||||
|
|
||||||
|
|
||||||
|
return View(new CashierDiagramViewModel()
|
||||||
|
{
|
||||||
|
DiagramName = "Hello World",
|
||||||
|
Elements = APICashier.GetRequest<List<CashierDiagramElementsViewModel>>($"api/Account/getAccountMonthResult?cardId={accountId}")
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -0,0 +1,89 @@
|
|||||||
|
@using BankYouBankruptContracts.ViewModels
|
||||||
|
|
||||||
|
@model CashierDiagramViewModel
|
||||||
|
|
||||||
|
@{
|
||||||
|
ViewData["Title"] = "Диаграмма";
|
||||||
|
}
|
||||||
|
|
||||||
|
<div class="text-center">
|
||||||
|
<h1 class="display-4">Диаграмма по месяцам</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<form method="post">
|
||||||
|
<div class="row">
|
||||||
|
<div class="row">Номер счета:</div>
|
||||||
|
<select id="accountId" name="accountId" class="form-control" asp-items="@(new SelectList( @ViewBag.Accounts, "Id", "AccountNumber"))">
|
||||||
|
<option disabled selected>Выберите счёт</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-8"></div>
|
||||||
|
<div class="col-4">
|
||||||
|
<input type="submit" value="Выбрать" class="btn btn-primary"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
@if (Model == null) return;
|
||||||
|
|
||||||
|
<div id="Diagrams" class="text-center">
|
||||||
|
<div id="@Model.DiagramName Diagram">
|
||||||
|
<canvas id="Chart"></canvas>
|
||||||
|
<div id="params">
|
||||||
|
@foreach (var info in Model.Elements) {
|
||||||
|
<input type="hidden" id="@info.Name" value="@info.Value" />
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const diagrams = document.getElementById('Diagrams').childNodes;
|
||||||
|
|
||||||
|
let diagram_name = diagrams[1].id;
|
||||||
|
|
||||||
|
console.log(diagram_name);
|
||||||
|
let diagram = document.getElementById(diagram_name).childNodes;
|
||||||
|
console.log(diagram);
|
||||||
|
let labels = [];
|
||||||
|
let data = [];
|
||||||
|
document.getElementById('params').childNodes.forEach(element => {
|
||||||
|
if (element.id != undefined) {
|
||||||
|
labels.push(element.id);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
document.getElementById('params').childNodes.forEach(element => {
|
||||||
|
if (element.id != undefined) {
|
||||||
|
data.push(Number(element.value));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
new Chart(diagram.item(1), {
|
||||||
|
type: 'bar',
|
||||||
|
data: {
|
||||||
|
labels: labels,
|
||||||
|
datasets: [{
|
||||||
|
label: 'Денег в этом месяце',
|
||||||
|
data: data,
|
||||||
|
borderWidth: 1
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
options: {
|
||||||
|
plugins: {
|
||||||
|
legend: {
|
||||||
|
display: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
scales: {
|
||||||
|
y: {
|
||||||
|
suggestedMin: Math.min(data) - Math.min(data) * -0.1,
|
||||||
|
suggestedMax: Math.max(data) + Math.max(data) * 0.1,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
</script>
|
@ -49,6 +49,9 @@
|
|||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link text-dark" asparea="" asp-controller="Home" asp-action="CreateReport">Отчёт</a>
|
<a class="nav-link text-dark" asparea="" asp-controller="Home" asp-action="CreateReport">Отчёт</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link text-dark" asparea="" asp-controller="Home" asp-action="Diagram">Диаграмма</a>
|
||||||
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link text-dark" asparea="" asp-controller="Home" asp-action="Privacy">Личный кабинет</a>
|
<a class="nav-link text-dark" asparea="" asp-controller="Home" asp-action="Privacy">Личный кабинет</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -22,5 +22,7 @@ namespace BankYouBankruptContracts.BusinessLogicsContracts
|
|||||||
bool Update(AccountBindingModel model);
|
bool Update(AccountBindingModel model);
|
||||||
|
|
||||||
bool Delete(AccountBindingModel model);
|
bool Delete(AccountBindingModel model);
|
||||||
|
public List<CashierDiagramElementsViewModel> GetMonthInfo(int AccountId);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,8 @@ namespace BankYouBankruptContracts.SearchModels
|
|||||||
|
|
||||||
public int? ClientId { get; set; }
|
public int? ClientId { get; set; }
|
||||||
|
|
||||||
|
public int? CashierId { get; set; }
|
||||||
|
|
||||||
public int? AccountSenderId { get; set; }
|
public int? AccountSenderId { get; set; }
|
||||||
|
|
||||||
public int? AccountPayeeId { get; set; }
|
public int? AccountPayeeId { get; set; }
|
||||||
|
@ -0,0 +1,15 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace BankYouBankruptContracts.ViewModels
|
||||||
|
{
|
||||||
|
public class CashierDiagramElementsViewModel
|
||||||
|
{
|
||||||
|
public string Name { get; set; } = "Column";
|
||||||
|
public int Value { get; set; } = 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
using BankYouBankruptContracts.ViewModels.Client.Diagram;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace BankYouBankruptContracts.ViewModels
|
||||||
|
{
|
||||||
|
public class CashierDiagramViewModel
|
||||||
|
{
|
||||||
|
public string DiagramName { get; set; } = "Diagram Name";
|
||||||
|
|
||||||
|
public List<CashierDiagramElementsViewModel> Elements { get; set; } = new();
|
||||||
|
}
|
||||||
|
}
|
@ -28,52 +28,27 @@ namespace BankYouBankruptDatabaseImplement.Implements
|
|||||||
|
|
||||||
public List<CashWithdrawalViewModel> GetFilteredList(CashWithdrawalSearchModel model)
|
public List<CashWithdrawalViewModel> GetFilteredList(CashWithdrawalSearchModel model)
|
||||||
{
|
{
|
||||||
if (model.AccountId < 0)
|
|
||||||
{
|
|
||||||
return new();
|
|
||||||
}
|
|
||||||
|
|
||||||
using var context = new BankYouBancruptDatabase();
|
using var context = new BankYouBancruptDatabase();
|
||||||
|
var result = context.CashWithdrawals.Include(x => x.Cashier)
|
||||||
if (model.CashierId.HasValue)
|
|
||||||
{
|
|
||||||
return context.CashWithdrawals
|
|
||||||
.Include(x => x.Cashier)
|
|
||||||
.Include(x => x.Debiting)
|
.Include(x => x.Debiting)
|
||||||
.Include(x => x.Account)
|
.Include(x => x.Account)
|
||||||
.Where(x => x.CashierId == model.CashierId)
|
|
||||||
.Select(x => x.GetViewModel)
|
|
||||||
.ToList();
|
.ToList();
|
||||||
}
|
|
||||||
|
|
||||||
//выборка для заполнения отчёта
|
if (model.AccountId.HasValue) result = result.Where(x => x.AccountId == model.AccountId).ToList();
|
||||||
if(model.DateFrom.HasValue && model.DateTo.HasValue)
|
|
||||||
{
|
|
||||||
return context.CashWithdrawals
|
|
||||||
.Include(x => x.Cashier)
|
|
||||||
.Include(x => x.Debiting)
|
|
||||||
.Include(x => x.Account)
|
|
||||||
.Where(x => x.DateOperation >= model.DateFrom && x.DateOperation <= model.DateTo && x.Account.ClientId == model.ClientId)
|
|
||||||
.Select(x => x.GetViewModel)
|
|
||||||
.ToList();
|
|
||||||
}
|
|
||||||
|
|
||||||
return context.CashWithdrawals
|
if (model.CashierId.HasValue) result = result.Where(x => x.CashierId == model.CashierId).ToList();
|
||||||
.Include(x => x.Cashier)
|
|
||||||
.Include(x => x.Debiting)
|
if (model.DateFrom.HasValue) result = result.Where(x => x.DateOperation >= model.DateFrom).ToList();
|
||||||
.Include(x => x.Account)
|
|
||||||
.Where(x => x.AccountId == model.AccountId)
|
if (model.DateTo.HasValue) result = result.Where(x => x.DateOperation <= model.DateTo).ToList();
|
||||||
.Select(x => x.GetViewModel)
|
|
||||||
.ToList();
|
if (model.ClientId.HasValue) result = result.Where(x => x.Account.ClientId == model.ClientId).ToList();
|
||||||
|
|
||||||
|
return result.Select(x => x.GetViewModel).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public CashWithdrawalViewModel? GetElement(CashWithdrawalSearchModel model)
|
public CashWithdrawalViewModel? GetElement(CashWithdrawalSearchModel model)
|
||||||
{
|
{
|
||||||
if (model.AccountId < 0 && !model.Id.HasValue)
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
using var context = new BankYouBancruptDatabase();
|
using var context = new BankYouBancruptDatabase();
|
||||||
|
|
||||||
return context.CashWithdrawals
|
return context.CashWithdrawals
|
||||||
|
@ -7,6 +7,7 @@ using Microsoft.EntityFrameworkCore;
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Net.NetworkInformation;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
@ -28,32 +29,25 @@ namespace BankYouBankruptDatabaseImplement.Implements
|
|||||||
|
|
||||||
public List<MoneyTransferViewModel> GetFilteredList(MoneyTransferSearchModel model)
|
public List<MoneyTransferViewModel> GetFilteredList(MoneyTransferSearchModel model)
|
||||||
{
|
{
|
||||||
if (model.AccountSenderId < 0)
|
|
||||||
{
|
|
||||||
return new();
|
|
||||||
}
|
|
||||||
|
|
||||||
using var context = new BankYouBancruptDatabase();
|
using var context = new BankYouBancruptDatabase();
|
||||||
|
var result = context.MoneyTransfers.Include(x => x.Cashier)
|
||||||
if(model.DateFrom.HasValue && model.DateTo.HasValue)
|
|
||||||
{
|
|
||||||
return context.MoneyTransfers
|
|
||||||
.Include(x => x.AccountPayeer)
|
.Include(x => x.AccountPayeer)
|
||||||
.Include(x => x.AccountSender)
|
.Include(x => x.AccountSender)
|
||||||
.Include(x => x.Cashier)
|
|
||||||
.Where(x => x.DateOperation >= model.DateFrom && x.DateOperation <= model.DateTo && x.AccountSenderId != null
|
|
||||||
&& (x.AccountPayeer.ClientId == model.ClientId || x.AccountSender.Id == model.ClientId))
|
|
||||||
.Select(x => x.GetViewModel)
|
|
||||||
.ToList();
|
.ToList();
|
||||||
}
|
|
||||||
|
|
||||||
return context.MoneyTransfers
|
if (model.AccountPayeeId.HasValue) result = result.Where(x => x.AccountPayeeId == model.AccountPayeeId).ToList();
|
||||||
.Include(x => x.AccountPayeer)
|
|
||||||
.Include(x => x.AccountSender)
|
if (model.AccountSenderId.HasValue) result = result.Where(x => x.AccountSenderId == model.AccountSenderId).ToList();
|
||||||
.Include(x => x.Cashier)
|
|
||||||
.Where(x => x.AccountSenderId == model.AccountSenderId)
|
if (model.CashierId.HasValue) result = result.Where(x => x.CashierId == model.CashierId).ToList();
|
||||||
.Select(x => x.GetViewModel)
|
|
||||||
.ToList();
|
if (model.DateFrom.HasValue) result = result.Where(x => x.DateOperation >= model.DateFrom).ToList();
|
||||||
|
|
||||||
|
if (model.DateTo.HasValue) result = result.Where(x => x.DateOperation <= model.DateTo).ToList();
|
||||||
|
|
||||||
|
if (model.ClientId.HasValue) result = result.Where(x => (x.AccountPayeer.ClientId == model.ClientId || x.AccountSender.ClientId == model.ClientId)).ToList();
|
||||||
|
|
||||||
|
return result.Select(x => x.GetViewModel).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public MoneyTransferViewModel? GetElement(MoneyTransferSearchModel model)
|
public MoneyTransferViewModel? GetElement(MoneyTransferSearchModel model)
|
||||||
|
@ -4,6 +4,7 @@ using BankYouBankruptContracts.BusinessLogicsContracts;
|
|||||||
using BankYouBankruptContracts.SearchModels;
|
using BankYouBankruptContracts.SearchModels;
|
||||||
using BankYouBankruptContracts.ViewModels;
|
using BankYouBankruptContracts.ViewModels;
|
||||||
using BankYouBankruptContracts.ViewModels.Client.Default;
|
using BankYouBankruptContracts.ViewModels.Client.Default;
|
||||||
|
using BankYouBankruptContracts.ViewModels.Client.Diagram;
|
||||||
using BankYouBankruptDatabaseImplement.Models;
|
using BankYouBankruptDatabaseImplement.Models;
|
||||||
using BankYouBankruptDataModels.Enums;
|
using BankYouBankruptDataModels.Enums;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
@ -315,5 +316,19 @@ namespace BankYouBankruptRestApi.Controllers
|
|||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpGet]
|
||||||
|
public List<CashierDiagramElementsViewModel> getAccountMonthResult(int cardId)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return _accountLogic.GetMonthInfo(cardId);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.LogError(ex, "Ошибка получения пользователей");
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user