diff --git a/BankYouBankrupt/BankYouBankruptClientApp/Controllers/HomeController.cs b/BankYouBankrupt/BankYouBankruptClientApp/Controllers/HomeController.cs index 2ef0c87..0129b89 100644 --- a/BankYouBankrupt/BankYouBankruptClientApp/Controllers/HomeController.cs +++ b/BankYouBankrupt/BankYouBankruptClientApp/Controllers/HomeController.cs @@ -2,6 +2,7 @@ using BankYouBankruptClientApp.Models; using BankYouBankruptContracts.BindingModels; using BankYouBankruptContracts.ViewModels; +using BankYouBankruptDataModels.Enums; using BankYouBankruptСlientApp; using Microsoft.AspNetCore.Mvc; using System.Diagnostics; @@ -117,11 +118,12 @@ namespace BankYouBankruptClientApp.Controllers return Redirect("~/Home/Enter"); } + ViewBag.Accounts = APIClient.GetRequest>($"api/Account/SearchAccountsOfCLient?clientId={APIClient.Client.Id}"); return View(); } [HttpPost] - public IActionResult CreateCard(string account, string number, string cvc, string period) { + public IActionResult CreateCard(string accountId, string number, string cvc, string period) { if (APIClient.Client == null) { throw new Exception("Не авторизованы"); @@ -129,7 +131,7 @@ namespace BankYouBankruptClientApp.Controllers APIClient.PostRequest("api/Card/CreateCard", new CardBindingModel { ClientID = APIClient.Client.Id, - AccountId = int.Parse(account), + AccountId = int.Parse(accountId), Number = number, CVC = cvc, Period = DateTime.Parse(period) @@ -141,6 +143,8 @@ namespace BankYouBankruptClientApp.Controllers #endregion + #region Снятие средств + [HttpGet] public IActionResult DebitingList() { @@ -151,5 +155,53 @@ namespace BankYouBankruptClientApp.Controllers return View(APIClient.GetRequest>($"api/Client/getUsersDebitings?userId={APIClient.Client.Id}")); } + + [HttpGet] + public IActionResult CreateDebiting() + { + if (APIClient.Client == null) + { + return Redirect("~/Home/Enter"); + } + + ViewBag.Cards = APIClient.GetRequest>($"api/Card/GetUsersCardsList?id={APIClient.Client.Id}"); + return View(); + } + + [HttpPost] + public IActionResult CreateDebiting(string cardId, int sum) + { + if (APIClient.Client == null) + { + throw new Exception("Не авторизованы"); + } + + APIClient.PostRequest("api/Card/CreateDebitingRequest", new DebitingBindingModel() + { + CardId = int.Parse(cardId), + Sum = sum, + DateOpen = DateTime.Now, + Status = StatusEnum.Открыта + }); + + return Redirect("~/Home/DebitingList"); + } + + #endregion + + #region Пополнение средств + + [HttpGet] + public IActionResult CreditingList() + { + if (APIClient.Client == null) + { + return Redirect("~/Home/Enter"); + } + + return View(APIClient.GetRequest>($"api/Client/getUsersCreditings?userId={APIClient.Client.Id}")); + } + + #endregion } } \ No newline at end of file diff --git a/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/CardsList.cshtml b/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/CardsList.cshtml index 39595ce..d377a36 100644 --- a/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/CardsList.cshtml +++ b/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/CardsList.cshtml @@ -29,9 +29,6 @@ CVC - - Фамилия владельца - Срок действия @@ -47,9 +44,6 @@ @Html.DisplayFor(modelItem => item.CVC) - - @Html.DisplayFor(modelItem => item.ClientSurname) - @Html.DisplayFor(modelItem => item.Period) diff --git a/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/CreateCard.cshtml b/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/CreateCard.cshtml index 378baf6..787b159 100644 --- a/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/CreateCard.cshtml +++ b/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/CreateCard.cshtml @@ -9,7 +9,7 @@
Номер счета:
- +
diff --git a/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/CreateDebiting.cshtml b/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/CreateDebiting.cshtml new file mode 100644 index 0000000..9f14f26 --- /dev/null +++ b/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/CreateDebiting.cshtml @@ -0,0 +1,27 @@ +@{ + ViewData["Title"] = "Register"; +} + +
+

Создание карты

+
+
+
+
Номер счета:
+
+ +
+
+
+
Cумма операции:
+
+ +
+
+
+
+
+ +
+
+
\ No newline at end of file diff --git a/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/CreditingList.cshtml b/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/CreditingList.cshtml index 0f85fe3..93cc804 100644 --- a/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/CreditingList.cshtml +++ b/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/CreditingList.cshtml @@ -18,7 +18,7 @@ return; }

- Снять средства + Пополнить средства

diff --git a/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/DebitingList.cshtml b/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/DebitingList.cshtml index c11c6da..65298a2 100644 --- a/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/DebitingList.cshtml +++ b/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/DebitingList.cshtml @@ -18,7 +18,7 @@ return; }

- Снять средства + Снять средства

diff --git a/BankYouBankrupt/BankYouBankruptClientApp/Views/Shared/_Layout.cshtml b/BankYouBankrupt/BankYouBankruptClientApp/Views/Shared/_Layout.cshtml index 9c8e7fa..5bb532c 100644 --- a/BankYouBankrupt/BankYouBankruptClientApp/Views/Shared/_Layout.cshtml +++ b/BankYouBankrupt/BankYouBankruptClientApp/Views/Shared/_Layout.cshtml @@ -31,6 +31,9 @@ + } diff --git a/BankYouBankrupt/BankYouBankruptContracts/SearchModels/CreditingSearchModel.cs b/BankYouBankrupt/BankYouBankruptContracts/SearchModels/CreditingSearchModel.cs index 7c3fea1..6a14740 100644 --- a/BankYouBankrupt/BankYouBankruptContracts/SearchModels/CreditingSearchModel.cs +++ b/BankYouBankrupt/BankYouBankruptContracts/SearchModels/CreditingSearchModel.cs @@ -15,6 +15,8 @@ namespace BankYouBankruptContracts.SearchModels public int? Sum { get; set; } + public int? UserId { get; set; } + public DateTime? DateFrom { get; set; } public DateTime? DateTo { get; set; } diff --git a/BankYouBankrupt/BankYouBankruptDatabaseImplement/Implements/CreditingStorage.cs b/BankYouBankrupt/BankYouBankruptDatabaseImplement/Implements/CreditingStorage.cs index 6d58574..e5b57a2 100644 --- a/BankYouBankrupt/BankYouBankruptDatabaseImplement/Implements/CreditingStorage.cs +++ b/BankYouBankrupt/BankYouBankruptDatabaseImplement/Implements/CreditingStorage.cs @@ -27,11 +27,6 @@ namespace BankYouBankruptDatabaseImplement.Implements public List GetFilteredList(CreditingSearchModel model) { - if (model.CardId < 0) - { - return new(); - } - using var context = new BankYouBancruptDatabase(); if (model.Status.HasValue) @@ -43,6 +38,12 @@ namespace BankYouBankruptDatabaseImplement.Implements .ToList(); } + if (model.UserId.HasValue) + { + List cards = context.Cards.Where(x => x.ClientID == model.UserId).Select(x => x.Id).ToList(); + return context.Creditings.Include(x => x.Card).Where(x => cards.Contains(x.CardId)).Select(x => x.GetViewModel).ToList(); + } + return context.Creditings .Include(x => x.Card) .Select(x => x.GetViewModel) diff --git a/BankYouBankrupt/BankYouBankruptRestAPI/Controllers/ClientController.cs b/BankYouBankrupt/BankYouBankruptRestAPI/Controllers/ClientController.cs index 27044ef..276cb7f 100644 --- a/BankYouBankrupt/BankYouBankruptRestAPI/Controllers/ClientController.cs +++ b/BankYouBankrupt/BankYouBankruptRestAPI/Controllers/ClientController.cs @@ -18,12 +18,15 @@ namespace BankYouBankruptRestApi.Controllers private readonly IClientLogic _clientLogic; private readonly IDebitingLogic _debitingLogic; + private readonly ICreditingLogic _creditingLogic; - public ClientController(IClientLogic clientLogic, IDebitingLogic debitingLogic, ILogger logger) + public ClientController(ILogger logger, + IClientLogic clientLogic, IDebitingLogic debitingLogic, ICreditingLogic creditingLogic) { _logger = logger; _clientLogic = clientLogic; _debitingLogic = debitingLogic; + _creditingLogic = creditingLogic; } [HttpGet] @@ -117,5 +120,22 @@ namespace BankYouBankruptRestApi.Controllers throw; } } + + [HttpGet] + public List? getUsersCreditings(int userId) + { + try + { + return _creditingLogic.ReadList(new CreditingSearchModel() + { + UserId = userId + }); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка получения пользователей"); + throw; + } + } } }