From 050a46e3d103603fb25b38d5fd8d480cf301d196 Mon Sep 17 00:00:00 2001 From: abazov73 <92822431+abazov73@users.noreply.github.com> Date: Wed, 17 May 2023 11:10:25 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D1=85=D0=BE=D0=B4=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BF=D1=80=D1=8F=D0=BC=D0=BE=D0=B5=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=B4=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=B2=D0=B5=D0=B1-=D0=BF=D1=80=D0=B8=D0=BB=D0=BE=D0=B6=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=BA=20=D0=BB=D0=BE=D0=B3=D0=B8=D0=BA?= =?UTF-8?q?=D0=B5,=20=D0=B2=D0=BC=D0=B5=D1=81=D1=82=D0=BE=20=D0=B8=D1=81?= =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20Rest=20=D0=BF=D1=80=D0=BE=D0=B5=D0=BA=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OperatorApp/Controllers/HomeController.cs | 48 +++++++++---------- Bank/OperatorApp/OperatorApp.csproj | 1 + Bank/OperatorApp/Program.cs | 14 ++++++ 3 files changed, 37 insertions(+), 26 deletions(-) diff --git a/Bank/OperatorApp/Controllers/HomeController.cs b/Bank/OperatorApp/Controllers/HomeController.cs index f93400b..054bde1 100644 --- a/Bank/OperatorApp/Controllers/HomeController.cs +++ b/Bank/OperatorApp/Controllers/HomeController.cs @@ -1,4 +1,6 @@ using BankContracts.BindingModels; +using BankContracts.BusinessLogicsContracts; +using BankContracts.SearchModels; using BankContracts.ViewModels; using BankDatabaseImplement.Models; using BankDataModels.Models; @@ -12,10 +14,18 @@ namespace OperatorApp.Controllers public class HomeController : Controller { private readonly ILogger _logger; + private readonly IDealLogic _dealLogic; + private readonly IPaymentLogic _paymentLogic; + private readonly ITransferLogic _transferLogic; + private readonly IOperatorLogic _operatorLogic; - public HomeController(ILogger logger) + public HomeController(ILogger logger, IDealLogic dealLogic, IPaymentLogic paymentLogic, ITransferLogic transferLogic, IOperatorLogic operatorLogic) { _logger = logger; + _dealLogic = dealLogic; + _paymentLogic = paymentLogic; + _transferLogic = transferLogic; + _operatorLogic = operatorLogic; } public IActionResult Index() @@ -24,7 +34,7 @@ namespace OperatorApp.Controllers { return Redirect("~/Home/Enter"); } - return View(APIClient.GetRequest>($"api/deal/getdeals?operatorId={APIClient.Operator.Id}")); + return View(_dealLogic.ReadList(new DealSearchModel { OperatorId = APIClient.Operator.Id})); } [HttpGet] @@ -48,7 +58,7 @@ namespace OperatorApp.Controllers { throw new Exception("Введите логин, пароль и ФИО"); } - APIClient.PostRequest("api/operator/updateoperator", new OperatorBindingModel + _operatorLogic.Update(new OperatorBindingModel { Id = APIClient.Operator.Id, LastName = lastname, @@ -85,7 +95,7 @@ namespace OperatorApp.Controllers { throw new Exception("Введите логин и пароль"); } - APIClient.Operator = APIClient.GetRequest($"api/operator/login?login={login}&password={password}"); + APIClient.Operator = _operatorLogic.ReadElement(new OperatorSearchModel { Login = login, Password = password}); if (APIClient.Operator == null) { throw new Exception("Неверный логин/пароль"); @@ -106,7 +116,7 @@ namespace OperatorApp.Controllers { throw new Exception("Введите логин, пароль и ФИО"); } - APIClient.PostRequest("api/operator/createoperator", new OperatorBindingModel + _operatorLogic.Create(new OperatorBindingModel { LastName = lastname, FirstName = firstname, @@ -130,7 +140,7 @@ namespace OperatorApp.Controllers { throw new Exception("Вы как суда попали? Суда вход только авторизованным"); } - APIClient.PostRequest("api/deal/createdeal", new DealBindingModel + _dealLogic.Create(new DealBindingModel { ClientId = clientid, OperatorId = APIClient.Operator.Id, @@ -143,12 +153,12 @@ namespace OperatorApp.Controllers { return Redirect("~/Home/Enter"); } - return View(APIClient.GetRequest>($"api/payment/getpayments?operatorId={APIClient.Operator.Id}")); + return View(_paymentLogic.ReadList(new PaymentSearchModel { OperatorId = APIClient.Operator.Id})); } [HttpGet] public IActionResult CreatePayment() { - ViewBag.Deals = APIClient.GetRequest>("api/deal/getdealslist"); + ViewBag.Deals = _dealLogic.ReadList(new DealSearchModel { OperatorId = APIClient.Operator.Id}); return View(); } [HttpPost] @@ -158,27 +168,13 @@ namespace OperatorApp.Controllers { throw new Exception("Вы как суда попали? Суда вход только авторизованным"); } - - Dictionary CurrencyPayments = new(); - //foreach (int id in deals) - //{ - // var deal = APIClient.GetRequest($"api/deal/getdeal?id={id}"); - // if (deal != null) CurrencyPayments.Add(deal.Id, deal as IModel); - //} - APIClient.PostRequest("api/payment/createpayment", new PaymentBindingModel - { - OperatorId = APIClient.Operator.Id, - }); - var payments = APIClient.GetRequest>("api/payment/getpaymentslist"); - int addedPaymentId = payments == null ? 1 : payments[payments.Count - 1].Id; + Dictionary DealPayments = new(); foreach (int id in deals) { - var deal = APIClient.GetRequest($"api/deal/getdeal?id={id}"); - if (deal != null) - { - APIClient.PostRequest($"api/payment/adddealtopayment?paymentId={addedPaymentId}", deal); - } + var deal = _dealLogic.ReadElement(new DealSearchModel { Id = id}); + if (deal != null) DealPayments.Add(deal.Id, deal); } + _paymentLogic.Create(new PaymentBindingModel { OperatorId = APIClient.Operator.Id, DealPayments = DealPayments, }); Response.Redirect("Payments"); } } diff --git a/Bank/OperatorApp/OperatorApp.csproj b/Bank/OperatorApp/OperatorApp.csproj index 7a0c33a..4d2afd9 100644 --- a/Bank/OperatorApp/OperatorApp.csproj +++ b/Bank/OperatorApp/OperatorApp.csproj @@ -15,6 +15,7 @@ + diff --git a/Bank/OperatorApp/Program.cs b/Bank/OperatorApp/Program.cs index 28fea40..78588c3 100644 --- a/Bank/OperatorApp/Program.cs +++ b/Bank/OperatorApp/Program.cs @@ -1,3 +1,7 @@ +using BankBusinessLogic.BusinessLogics; +using BankContracts.BusinessLogicsContracts; +using BankContracts.StoragesContracts; +using BankDatabaseImplement.Implements; using OperatorApp; var builder = WebApplication.CreateBuilder(args); @@ -5,6 +9,16 @@ var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddControllersWithViews(); +builder.Services.AddTransient(); +builder.Services.AddTransient(); +builder.Services.AddTransient(); +builder.Services.AddTransient(); + +builder.Services.AddTransient(); +builder.Services.AddTransient(); +builder.Services.AddTransient(); +builder.Services.AddTransient(); + var app = builder.Build(); APIClient.Connect(builder.Configuration);