From 93cbad30f854846bc5a7c2e9b033c3288bc10d43 Mon Sep 17 00:00:00 2001 From: Programmist73 Date: Wed, 17 May 2023 22:13:56 +0400 Subject: [PATCH] =?UTF-8?q?Cashier.=20=D0=92=D1=80=D0=BE=D0=B4=D0=B5=20?= =?UTF-8?q?=D0=BF=D0=BE=20=D0=BD=D0=B5=D0=BC=D1=83=20=D0=B2=D1=81=D1=91,?= =?UTF-8?q?=20=D0=BA=D1=80=D0=BE=D0=BC=D0=B5=20=D0=BE=D1=87=D1=91=D1=82?= =?UTF-8?q?=D0=BE=D0=B2.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusinessLogics/MoneyTransferLogic.cs | 18 ++-- .../Controllers/HomeController.cs | 84 ++++++++++++++----- .../Views/Home/CloseCrediting.cshtml | 39 ++++++++- .../Views/Home/CloseDebiting.cshtml | 2 +- .../Views/Home/MoneyTransfers.cshtml | 37 ++++++++ .../Controllers/AccountController.cs | 2 +- 6 files changed, 150 insertions(+), 32 deletions(-) create mode 100644 BankYouBankrupt/BankYouBankruptCashierApp/Views/Home/MoneyTransfers.cshtml diff --git a/BankYouBankrupt/BankYouBankruptBusinessLogic/BusinessLogics/MoneyTransferLogic.cs b/BankYouBankrupt/BankYouBankruptBusinessLogic/BusinessLogics/MoneyTransferLogic.cs index e481ac1..8493244 100644 --- a/BankYouBankrupt/BankYouBankruptBusinessLogic/BusinessLogics/MoneyTransferLogic.cs +++ b/BankYouBankrupt/BankYouBankruptBusinessLogic/BusinessLogics/MoneyTransferLogic.cs @@ -82,17 +82,17 @@ namespace BankYouBankruptBusinessLogic.BusinessLogics return false; } - if (!model.CreditingId.HasValue) + //проверка на то, что это зачисление на карту, а не перевод между счетами + if (model.CreditingId.HasValue) { - throw new Exception(); - } + _creditingStorage.Update(new CreditingBindingModel + { + Id = model.CreditingId.Value, + DateClose = DateTime.Now, + Status = StatusEnum.Закрыта + }); - _creditingStorage.Update(new CreditingBindingModel - { - Id = model.CreditingId.Value, - DateClose = DateTime.Now, - Status = StatusEnum.Закрыта - }); + } return true; } diff --git a/BankYouBankrupt/BankYouBankruptCashierApp/Controllers/HomeController.cs b/BankYouBankrupt/BankYouBankruptCashierApp/Controllers/HomeController.cs index 1413d4b..391f795 100644 --- a/BankYouBankrupt/BankYouBankruptCashierApp/Controllers/HomeController.cs +++ b/BankYouBankrupt/BankYouBankruptCashierApp/Controllers/HomeController.cs @@ -249,30 +249,20 @@ namespace BankYouBankruptCashierApp.Controllers return View(APICashier.GetRequest>($"/api/Account/FindOpenCrediting")); } - //для страницы "Переводы" - [HttpGet] - public IActionResult MoneyTransfers() - { - if (APICashier.Cashier == null) - { - throw new Exception("Вы как сюда попали? Суда вход только авторизованным"); - } - - return View(APICashier.GetRequest>($"/api/Account/FindOpenDebiting")); - } - //открытие вьюхи одобрения заявки на зачисление [HttpGet] public IActionResult CloseCrediting() { ViewBag.Creditings = APICashier.GetRequest>("/api/Account/FindOpenCrediting"); + ViewBag.Accounts = APICashier.GetRequest>("/api/Account/GetAllAccounts"); + return View(); } //одобрения заявки на зачисление Post-запросом [HttpPost] - public void CloseCrediting(int creditingId) + public void CloseCrediting(int creditingId, int accountPayeeId) { if (APICashier.Cashier == null) { @@ -284,8 +274,13 @@ namespace BankYouBankruptCashierApp.Controllers throw new Exception("Некорректный номер заявки на зачисление"); } - //получаем необходимые данные для запроса - APICashier.Crediting = APICashier.GetRequest($"/api/Account/FindCrediting?id={creditingId}"); + if (accountPayeeId < 0) + { + throw new Exception("Некорректный id счёта для зацисления средств"); + } + + //получаем необходимые данные для запроса + APICashier.Crediting = APICashier.GetRequest($"/api/Account/FindCrediting?id={creditingId}"); APICashier.Card = APICashier.GetRequest($"/api/Card/FindCard?id={APICashier.Crediting.CardId}"); @@ -294,7 +289,7 @@ namespace BankYouBankruptCashierApp.Controllers CashierId = APICashier.Cashier.Id, CreditingId = creditingId, Sum = APICashier.Crediting.Sum, - AccountPayeeId = APICashier.Card.AccountId + AccountPayeeId = accountPayeeId }); //очистка данных @@ -329,6 +324,11 @@ namespace BankYouBankruptCashierApp.Controllers throw new Exception("Некорректный номер заявки на снятие"); } + if (accountId < 0) + { + throw new Exception("Некорректный номер заявки на снятие"); + } + //получаем необходимые данные для запроса APICashier.Debiting = APICashier.GetRequest($"/api/Account/FindDebiting?id={debitingId}"); @@ -350,11 +350,20 @@ namespace BankYouBankruptCashierApp.Controllers //получение номера запрашиваемого счёта для снятия [HttpPost] - public string GetAccountNumber(int debitingId) + public string GetAccountNumber(int id) { - APICashier.Debiting = APICashier.GetRequest($"/api/Account/FindDebiting?id={debitingId}"); + APICashier.Debiting = APICashier.GetRequest($"/api/Account/FindDebiting?id={id}"); - APICashier.Card = APICashier.GetRequest($"/api/Card/FindCard?id={APICashier.Debiting.CardId}"); + APICashier.Crediting = APICashier.GetRequest($"/api/Account/FindDebiting?id={id}"); + + if(APICashier.Debiting == null) + { + APICashier.Card = APICashier.GetRequest($"/api/Card/FindCard?id={APICashier.Crediting.CardId}"); + } + else + { + APICashier.Card = APICashier.GetRequest($"/api/Card/FindCard?id={APICashier.Debiting.CardId}"); + } APICashier.Account = APICashier.GetRequest($"/api/Account/GetAccount?accountId={APICashier.Card.AccountId}"); @@ -366,5 +375,42 @@ namespace BankYouBankruptCashierApp.Controllers return AccountNumber; } + + [HttpGet] + public IActionResult MoneyTransfers() + { + ViewBag.Accounts = APICashier.GetRequest>("/api/Account/GetAllAccounts"); + + return View(); + } + + [HttpPost] + public void MoneyTransfers(int accountSenderId, int accountPayeeId, int sumMoneyTransfer) + { + if (APICashier.Cashier == null) + { + throw new Exception("Вы как сюда попали? Суда вход только авторизованным"); + } + + if (accountSenderId < 0) + { + throw new Exception("Некорректный id счёта отправителя"); + } + + if (accountPayeeId < 0) + { + throw new Exception("Некорректный id счёта получателя"); + } + + APICashier.PostRequest("/api/Account/CloseCrediting", new MoneyTransferBindingModel + { + CashierId = APICashier.Cashier.Id, + Sum = sumMoneyTransfer, + AccountPayeeId = accountPayeeId, + AccountSenderId = accountSenderId + }); + + Response.Redirect("Index"); + } } } \ No newline at end of file diff --git a/BankYouBankrupt/BankYouBankruptCashierApp/Views/Home/CloseCrediting.cshtml b/BankYouBankrupt/BankYouBankruptCashierApp/Views/Home/CloseCrediting.cshtml index 807f2a5..ab596ae 100644 --- a/BankYouBankrupt/BankYouBankruptCashierApp/Views/Home/CloseCrediting.cshtml +++ b/BankYouBankrupt/BankYouBankruptCashierApp/Views/Home/CloseCrediting.cshtml @@ -9,7 +9,23 @@
Номер запроса на зачисление:
- + +
+
+
+
Запрашиваемый счёт для зачисления:
+
+ +
+
+
+
Номер счёта для зачисления:
+
+
@@ -18,4 +34,23 @@
- \ No newline at end of file + + + + \ No newline at end of file diff --git a/BankYouBankrupt/BankYouBankruptCashierApp/Views/Home/CloseDebiting.cshtml b/BankYouBankrupt/BankYouBankruptCashierApp/Views/Home/CloseDebiting.cshtml index d7bd6e6..5fbb73c 100644 --- a/BankYouBankrupt/BankYouBankruptCashierApp/Views/Home/CloseDebiting.cshtml +++ b/BankYouBankrupt/BankYouBankruptCashierApp/Views/Home/CloseDebiting.cshtml @@ -47,7 +47,7 @@ $.ajax({ method: "Post", url: "/Home/GetAccountNumber", - data: { debitingId: debitingId }, + data: { id: debitingId }, success: function (result) { $("#accountNumber").val(result); } diff --git a/BankYouBankrupt/BankYouBankruptCashierApp/Views/Home/MoneyTransfers.cshtml b/BankYouBankrupt/BankYouBankruptCashierApp/Views/Home/MoneyTransfers.cshtml new file mode 100644 index 0000000..deb6db6 --- /dev/null +++ b/BankYouBankrupt/BankYouBankruptCashierApp/Views/Home/MoneyTransfers.cshtml @@ -0,0 +1,37 @@ +@{ + ViewData["Title"] = "Перевод меджу счетами"; +} + +
+

Перевод меджу счетами

+
+
+
+
Номер счёта для снятия:
+
+ +
+
+
+
Номер счёта для начисления:
+
+ +
+
+
+
Сумма перевода:
+
+ +
+
+
+
+
+ +
+
+
diff --git a/BankYouBankrupt/BankYouBankruptRestAPI/Controllers/AccountController.cs b/BankYouBankrupt/BankYouBankruptRestAPI/Controllers/AccountController.cs index 0b343cd..c144096 100644 --- a/BankYouBankrupt/BankYouBankruptRestAPI/Controllers/AccountController.cs +++ b/BankYouBankrupt/BankYouBankruptRestAPI/Controllers/AccountController.cs @@ -223,7 +223,7 @@ namespace BankYouBankruptRestApi.Controllers bool flag = true; - //если нет отправителя, т. е. операция на перевод денег из нала в виртуал на карту + //если есть отправитель, т. е. операция на перевод денег со счёта на счёт if (moneyTransfer.AccountSenderId.HasValue) { flag = _accountLogic.ChangeBalance(new AccountSearchModel