From 52e55d4da47229e9791c1c141911267d3be2e014 Mon Sep 17 00:00:00 2001 From: Programmist73 Date: Fri, 19 May 2023 11:35:31 +0400 Subject: [PATCH] =?UTF-8?q?=D0=92=D1=8B=D0=B2=D0=BE=D0=B4=20=D0=BE=D1=82?= =?UTF-8?q?=D1=87=D1=91=D1=82=D0=B0=20=D0=BA=D0=B0=D1=81=D1=81=D0=B8=D1=80?= =?UTF-8?q?=D0=B0=20=D0=BD=D0=B0=20=D1=84=D0=BE=D1=80=D0=BC=D1=83.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BankYouBankruptCashierApp/APICashier.cs | 22 +++- .../Controllers/HomeController.cs | 111 +++++++++++++----- .../Views/Home/CreateReport.cshtml | 97 ++++++++++++++- .../Views/Home/CreateReport.cshtml | 6 +- .../Controllers/ReportController.cs | 6 +- .../Отчёт_по_счетам.pdf | Bin 38102 -> 37467 bytes 6 files changed, 205 insertions(+), 37 deletions(-) diff --git a/BankYouBankrupt/BankYouBankruptCashierApp/APICashier.cs b/BankYouBankrupt/BankYouBankruptCashierApp/APICashier.cs index 0fec5a9..d6ac7cd 100644 --- a/BankYouBankrupt/BankYouBankruptCashierApp/APICashier.cs +++ b/BankYouBankrupt/BankYouBankruptCashierApp/APICashier.cs @@ -59,5 +59,25 @@ namespace BankYouBankruptCashierApp throw new Exception(result); } } - } + + //Post-запрос для получения данных + public static T? PostRequestReport(string requestUrl, U model) + { + var json = JsonConvert.SerializeObject(model); + var data = new StringContent(json, Encoding.UTF8, "application/json"); + + var response = _client.PostAsync(requestUrl, data); + + var result = response.Result.Content.ReadAsStringAsync().Result; + + if (response.Result.IsSuccessStatusCode) + { + return JsonConvert.DeserializeObject(result); + } + else + { + throw new Exception(result); + } + } + } } diff --git a/BankYouBankrupt/BankYouBankruptCashierApp/Controllers/HomeController.cs b/BankYouBankrupt/BankYouBankruptCashierApp/Controllers/HomeController.cs index ae67221..fc5fb2c 100644 --- a/BankYouBankrupt/BankYouBankruptCashierApp/Controllers/HomeController.cs +++ b/BankYouBankrupt/BankYouBankruptCashierApp/Controllers/HomeController.cs @@ -19,6 +19,8 @@ namespace BankYouBankruptCashierApp.Controllers _logger = logger; } + #region Загрузка главной страницы + //вытаскивает через API клиента Get-запросом список его собственных заказов [HttpGet] public IActionResult Index() @@ -31,8 +33,12 @@ namespace BankYouBankruptCashierApp.Controllers return View(APICashier.GetRequest>($"/api/Account/GetAllAccounts")); } - //изменемение ланных Get-ом - [HttpGet] + #endregion + + #region Обновление данных пользователя + + //изменемение ланных Get-ом + [HttpGet] public IActionResult Privacy() { if (APICashier.Cashier == null) @@ -81,7 +87,11 @@ namespace BankYouBankruptCashierApp.Controllers Response.Redirect("Index"); } - [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] + #endregion + + #region Вывод ошибок + + [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] public IActionResult Error() { return View(new ErrorViewModel @@ -90,8 +100,12 @@ namespace BankYouBankruptCashierApp.Controllers }); } - //просто открытие вьюхи - [HttpGet] + #endregion + + #region Вход в приложение + + //просто открытие вьюхи + [HttpGet] public IActionResult Enter() { return View(); @@ -116,8 +130,12 @@ namespace BankYouBankruptCashierApp.Controllers Response.Redirect("Index"); } - //просто открытие вьюхи - [HttpGet] + #endregion + + #region Регистрация + + //просто открытие вьюхи + [HttpGet] public IActionResult Register() { return View(); @@ -149,6 +167,10 @@ namespace BankYouBankruptCashierApp.Controllers return; } + #endregion + + #region Открытие нового счёта + //открытие счёта. Получаем и передаём список изделий во вьюху? [HttpGet] public IActionResult CreateAccount() @@ -205,17 +227,9 @@ namespace BankYouBankruptCashierApp.Controllers Response.Redirect("Index"); } - //для страницы "Заявки на снятие" - [HttpGet] - public IActionResult Debiting() - { - if (APICashier.Cashier == null) - { - throw new Exception("Вы как сюда попали? Суда вход только авторизованным"); - } + #endregion - return View(APICashier.GetRequest>($"/api/Account/FindOpenDebiting")); - } + #region Работа с заявками на зачисление //для страницы "Заявки на зачисление" [HttpGet] @@ -284,6 +298,22 @@ namespace BankYouBankruptCashierApp.Controllers Response.Redirect("Crediting"); } + #endregion + + #region Работа с заявками на снятие + + //для страницы "Заявки на снятие" + [HttpGet] + public IActionResult Debiting() + { + if (APICashier.Cashier == null) + { + throw new Exception("Вы как сюда попали? Суда вход только авторизованным"); + } + + return View(APICashier.GetRequest>($"/api/Account/FindOpenDebiting")); + } + //открытие вьюхи одобрения заявки на снятие [HttpGet] public IActionResult CloseDebiting() @@ -338,7 +368,9 @@ namespace BankYouBankruptCashierApp.Controllers Response.Redirect("Debiting"); } - //получение номера запрашиваемого счёта для снятия + #endregion + + //получение номера запрашиваемого счёта для снятия - для работы с начислениями и списаниями [HttpPost] public string GetAccountNumber(int id) { @@ -371,7 +403,9 @@ namespace BankYouBankruptCashierApp.Controllers return AccountNumber; } - [HttpGet] + #region Работа с переводом со счёта на счёт + + [HttpGet] public IActionResult MoneyTransfers() { if (APICashier.Cashier == null) @@ -413,7 +447,11 @@ namespace BankYouBankruptCashierApp.Controllers Response.Redirect("Index"); } - [HttpGet] + #endregion + + #region Отчёт с выборкой по счетам + + [HttpGet] public IActionResult ReportWithAccounts() { if (APICashier.Cashier == null) @@ -459,9 +497,11 @@ namespace BankYouBankruptCashierApp.Controllers return View(cashWithdrawals.Concat(moneyTransfers).OrderBy(x => x.DateOperation).ToList()); } - #region Получение отчёта PDF + #endregion - [HttpGet] + #region Получение отчёта PDF + + [HttpGet] public IActionResult CreateReport() { if (APICashier.Cashier == null) @@ -480,26 +520,33 @@ namespace BankYouBankruptCashierApp.Controllers } [HttpPost] - public void CreateReport(int clientId, DateTime dateFrom, DateTime dateTo) + public IActionResult CreateReport(int clientId, DateTime dateFrom, DateTime dateTo) { if (APICashier.Cashier == null) { throw new Exception("Не авторизованы"); } - APICashier.PostRequest("api/Report/CreateCashierReport", new ReportSupportBindingModel() + //запрашиваем список в формате вспомогательной вьюшки из-за работы select в asp net + ViewBag.Clients = APICashier.GetRequest>($"/api/Client/GetAllClients").Select(x => new ClientSelectViewModel { - ClientId = clientId, + Id = x.Id, + FullName = x.Surname + " " + x.Name + " " + x.Patronymic + }).ToList(); + + return View(APICashier.PostRequestReport("api/Report/CreateCashierReport", new ReportSupportBindingModel() + { + ClientId = clientId, DateFrom = dateFrom, DateTo = dateTo - }); - - Response.Redirect("Index"); + })); } - #endregion + #endregion - [HttpGet] + #region Диаграмма + + [HttpGet] public IActionResult Diagram() { if (APICashier.Cashier == null) @@ -530,5 +577,7 @@ namespace BankYouBankruptCashierApp.Controllers Elements = APICashier.GetRequest>($"api/Account/getAccountMonthResult?cardId={accountId}") }); } - } + + #endregion + } } \ No newline at end of file diff --git a/BankYouBankrupt/BankYouBankruptCashierApp/Views/Home/CreateReport.cshtml b/BankYouBankrupt/BankYouBankruptCashierApp/Views/Home/CreateReport.cshtml index e2c4290..17e87e1 100644 --- a/BankYouBankrupt/BankYouBankruptCashierApp/Views/Home/CreateReport.cshtml +++ b/BankYouBankrupt/BankYouBankruptCashierApp/Views/Home/CreateReport.cshtml @@ -1,4 +1,8 @@ -@{ +@using BankYouBankruptContracts.ViewModels; + +@model ReportCashierViewModelForHTML + +@{ ViewData["Title"] = "Создание отчёта"; } @@ -30,6 +34,97 @@ +
+ @if (Model != null) + { +
+

Отчёт по выдаче наличных со счёта

+ + + + + + + + + + + @foreach (var item in Model.ReportCashWithdrawal) + { + + + + + + + } + +
+ Номер операции + + Номер счёта + + Сумма операции + + Дата операции +
+ @Html.DisplayFor(modelItem => item.OperationId) + + @Html.DisplayFor(modelItem => item.AccountPayeeNumber) + + @Html.DisplayFor(modelItem => item.SumOperation) + + @Html.DisplayFor(modelItem => item.DateComplite) +
+
+
+
+

Отчёт по денежным переводам между счетами

+ + + + + + + + + + + + @foreach (var item in Model.ReportMoneyTransfer) + { + + + + + + + + } + +
+ Номер операции + + Номер счёта отправителя + + Номер счёта получаетля + + Сумма операции + + Дата операции +
+ @Html.DisplayFor(modelItem => item.OperationId) + + @Html.DisplayFor(modelItem => item.AccountSenderNumber) + + @Html.DisplayFor(modelItem => item.AccountPayeeNumber) + + @Html.DisplayFor(modelItem => item.SumOperation) + + @Html.DisplayFor(modelItem => item.DateComplite) +
+
+ }