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);