From 2b6f4476218eeacd215fb5389caa772f63ef4e73 Mon Sep 17 00:00:00 2001 From: Programmist73 Date: Tue, 16 May 2023 21:55:36 +0400 Subject: [PATCH] Another small fix. --- .../20230516175437_NewSmallFix.Designer.cs | 456 ++++++++++++++++++ .../Migrations/20230516175437_NewSmallFix.cs | 100 ++++ .../BankYouBancruptDatabaseModelSnapshot.cs | 10 +- .../Models/MoneyTransfer.cs | 10 +- .../Controllers/AccountController.cs | 58 ++- .../Controllers/CardController.cs | 6 - 6 files changed, 619 insertions(+), 21 deletions(-) create mode 100644 BankYouBankrupt/BankYouBankruptDatabaseImplement/Migrations/20230516175437_NewSmallFix.Designer.cs create mode 100644 BankYouBankrupt/BankYouBankruptDatabaseImplement/Migrations/20230516175437_NewSmallFix.cs diff --git a/BankYouBankrupt/BankYouBankruptDatabaseImplement/Migrations/20230516175437_NewSmallFix.Designer.cs b/BankYouBankrupt/BankYouBankruptDatabaseImplement/Migrations/20230516175437_NewSmallFix.Designer.cs new file mode 100644 index 0000000..c4e8739 --- /dev/null +++ b/BankYouBankrupt/BankYouBankruptDatabaseImplement/Migrations/20230516175437_NewSmallFix.Designer.cs @@ -0,0 +1,456 @@ +// +using System; +using BankYouBankruptDatabaseImplement; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace BankYouBankruptDatabaseImplement.Migrations +{ + [DbContext(typeof(BankYouBancruptDatabase))] + [Migration("20230516175437_NewSmallFix")] + partial class NewSmallFix + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "7.0.5") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("BankYouBankruptDatabaseImplement.Models.Account", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AccountNumber") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Balance") + .HasColumnType("float"); + + b.Property("CashierId") + .HasColumnType("int"); + + b.Property("ClientId") + .HasColumnType("int"); + + b.Property("DateOpen") + .HasColumnType("datetime2"); + + b.Property("PasswordAccount") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("CashierId"); + + b.HasIndex("ClientId"); + + b.ToTable("Accounts"); + }); + + modelBuilder.Entity("BankYouBankruptDatabaseImplement.Models.Card", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AccountId") + .HasColumnType("int"); + + b.Property("CVC") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ClientID") + .HasColumnType("int"); + + b.Property("Number") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Period") + .HasColumnType("datetime2"); + + b.HasKey("Id"); + + b.HasIndex("AccountId"); + + b.HasIndex("ClientID"); + + b.ToTable("Cards"); + }); + + modelBuilder.Entity("BankYouBankruptDatabaseImplement.Models.CashWithdrawal", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AccountId") + .HasColumnType("int"); + + b.Property("CashierId") + .HasColumnType("int"); + + b.Property("DateOperation") + .HasColumnType("datetime2"); + + b.Property("DebitingId") + .HasColumnType("int"); + + b.Property("Sum") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("AccountId"); + + b.HasIndex("CashierId"); + + b.HasIndex("DebitingId"); + + b.ToTable("CashWithdrawals"); + }); + + modelBuilder.Entity("BankYouBankruptDatabaseImplement.Models.Cashier", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Email") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Password") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Patronymic") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Surname") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Telephone") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("Cashiers"); + }); + + modelBuilder.Entity("BankYouBankruptDatabaseImplement.Models.Client", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Email") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Password") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Patronymic") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Surname") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Telephone") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("Clients"); + }); + + modelBuilder.Entity("BankYouBankruptDatabaseImplement.Models.Crediting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("CardId") + .HasColumnType("int"); + + b.Property("DateClose") + .HasColumnType("datetime2"); + + b.Property("DateOpen") + .HasColumnType("datetime2"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Sum") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("CardId"); + + b.ToTable("Creditings"); + }); + + modelBuilder.Entity("BankYouBankruptDatabaseImplement.Models.Debiting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("CardId") + .HasColumnType("int"); + + b.Property("DateClose") + .HasColumnType("datetime2"); + + b.Property("DateOpen") + .HasColumnType("datetime2"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Sum") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("CardId"); + + b.ToTable("Debitings"); + }); + + modelBuilder.Entity("BankYouBankruptDatabaseImplement.Models.MoneyTransfer", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AccountPayeeId") + .HasColumnType("int"); + + b.Property("AccountPayeerId") + .HasColumnType("int"); + + b.Property("AccountSenderId") + .HasColumnType("int"); + + b.Property("CashierId") + .HasColumnType("int"); + + b.Property("CreditingId") + .HasColumnType("int"); + + b.Property("DateOperation") + .HasColumnType("datetime2"); + + b.Property("Sum") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("AccountPayeerId"); + + b.HasIndex("AccountSenderId"); + + b.HasIndex("CashierId"); + + b.HasIndex("CreditingId"); + + b.ToTable("MoneyTransfers"); + }); + + modelBuilder.Entity("BankYouBankruptDatabaseImplement.Models.Account", b => + { + b.HasOne("BankYouBankruptDatabaseImplement.Models.Cashier", null) + .WithMany("Accounts") + .HasForeignKey("CashierId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BankYouBankruptDatabaseImplement.Models.Client", "Client") + .WithMany() + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Client"); + }); + + modelBuilder.Entity("BankYouBankruptDatabaseImplement.Models.Card", b => + { + b.HasOne("BankYouBankruptDatabaseImplement.Models.Account", null) + .WithMany("Cards") + .HasForeignKey("AccountId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BankYouBankruptDatabaseImplement.Models.Client", "Client") + .WithMany("Cards") + .HasForeignKey("ClientID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Client"); + }); + + modelBuilder.Entity("BankYouBankruptDatabaseImplement.Models.CashWithdrawal", b => + { + b.HasOne("BankYouBankruptDatabaseImplement.Models.Account", "Account") + .WithMany("CashWithdrawals") + .HasForeignKey("AccountId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BankYouBankruptDatabaseImplement.Models.Cashier", "Cashier") + .WithMany("CashWithdrawals") + .HasForeignKey("CashierId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BankYouBankruptDatabaseImplement.Models.Debiting", "Debiting") + .WithMany() + .HasForeignKey("DebitingId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Account"); + + b.Navigation("Cashier"); + + b.Navigation("Debiting"); + }); + + modelBuilder.Entity("BankYouBankruptDatabaseImplement.Models.Crediting", b => + { + b.HasOne("BankYouBankruptDatabaseImplement.Models.Card", "Card") + .WithMany("Creditings") + .HasForeignKey("CardId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Card"); + }); + + modelBuilder.Entity("BankYouBankruptDatabaseImplement.Models.Debiting", b => + { + b.HasOne("BankYouBankruptDatabaseImplement.Models.Card", "Card") + .WithMany("Debitings") + .HasForeignKey("CardId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Card"); + }); + + modelBuilder.Entity("BankYouBankruptDatabaseImplement.Models.MoneyTransfer", b => + { + b.HasOne("BankYouBankruptDatabaseImplement.Models.Account", "AccountPayeer") + .WithMany() + .HasForeignKey("AccountPayeerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BankYouBankruptDatabaseImplement.Models.Account", "AccountSender") + .WithMany() + .HasForeignKey("AccountSenderId"); + + b.HasOne("BankYouBankruptDatabaseImplement.Models.Cashier", "Cashier") + .WithMany("MoneyTransfers") + .HasForeignKey("CashierId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BankYouBankruptDatabaseImplement.Models.Crediting", null) + .WithMany("MoneyTransfers") + .HasForeignKey("CreditingId"); + + b.Navigation("AccountPayeer"); + + b.Navigation("AccountSender"); + + b.Navigation("Cashier"); + }); + + modelBuilder.Entity("BankYouBankruptDatabaseImplement.Models.Account", b => + { + b.Navigation("Cards"); + + b.Navigation("CashWithdrawals"); + }); + + modelBuilder.Entity("BankYouBankruptDatabaseImplement.Models.Card", b => + { + b.Navigation("Creditings"); + + b.Navigation("Debitings"); + }); + + modelBuilder.Entity("BankYouBankruptDatabaseImplement.Models.Cashier", b => + { + b.Navigation("Accounts"); + + b.Navigation("CashWithdrawals"); + + b.Navigation("MoneyTransfers"); + }); + + modelBuilder.Entity("BankYouBankruptDatabaseImplement.Models.Client", b => + { + b.Navigation("Cards"); + }); + + modelBuilder.Entity("BankYouBankruptDatabaseImplement.Models.Crediting", b => + { + b.Navigation("MoneyTransfers"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/BankYouBankrupt/BankYouBankruptDatabaseImplement/Migrations/20230516175437_NewSmallFix.cs b/BankYouBankrupt/BankYouBankruptDatabaseImplement/Migrations/20230516175437_NewSmallFix.cs new file mode 100644 index 0000000..fba728e --- /dev/null +++ b/BankYouBankrupt/BankYouBankruptDatabaseImplement/Migrations/20230516175437_NewSmallFix.cs @@ -0,0 +1,100 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace BankYouBankruptDatabaseImplement.Migrations +{ + /// + public partial class NewSmallFix : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey( + name: "FK_MoneyTransfers_Accounts_AccountSenderId", + table: "MoneyTransfers"); + + migrationBuilder.DropForeignKey( + name: "FK_MoneyTransfers_Creditings_CreditingId", + table: "MoneyTransfers"); + + migrationBuilder.AlterColumn( + name: "CreditingId", + table: "MoneyTransfers", + type: "int", + nullable: true, + oldClrType: typeof(int), + oldType: "int"); + + migrationBuilder.AlterColumn( + name: "AccountSenderId", + table: "MoneyTransfers", + type: "int", + nullable: true, + oldClrType: typeof(int), + oldType: "int"); + + migrationBuilder.AddForeignKey( + name: "FK_MoneyTransfers_Accounts_AccountSenderId", + table: "MoneyTransfers", + column: "AccountSenderId", + principalTable: "Accounts", + principalColumn: "Id"); + + migrationBuilder.AddForeignKey( + name: "FK_MoneyTransfers_Creditings_CreditingId", + table: "MoneyTransfers", + column: "CreditingId", + principalTable: "Creditings", + principalColumn: "Id"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey( + name: "FK_MoneyTransfers_Accounts_AccountSenderId", + table: "MoneyTransfers"); + + migrationBuilder.DropForeignKey( + name: "FK_MoneyTransfers_Creditings_CreditingId", + table: "MoneyTransfers"); + + migrationBuilder.AlterColumn( + name: "CreditingId", + table: "MoneyTransfers", + type: "int", + nullable: false, + defaultValue: 0, + oldClrType: typeof(int), + oldType: "int", + oldNullable: true); + + migrationBuilder.AlterColumn( + name: "AccountSenderId", + table: "MoneyTransfers", + type: "int", + nullable: false, + defaultValue: 0, + oldClrType: typeof(int), + oldType: "int", + oldNullable: true); + + migrationBuilder.AddForeignKey( + name: "FK_MoneyTransfers_Accounts_AccountSenderId", + table: "MoneyTransfers", + column: "AccountSenderId", + principalTable: "Accounts", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_MoneyTransfers_Creditings_CreditingId", + table: "MoneyTransfers", + column: "CreditingId", + principalTable: "Creditings", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + } + } +} diff --git a/BankYouBankrupt/BankYouBankruptDatabaseImplement/Migrations/BankYouBancruptDatabaseModelSnapshot.cs b/BankYouBankrupt/BankYouBankruptDatabaseImplement/Migrations/BankYouBancruptDatabaseModelSnapshot.cs index ed25251..5158c41 100644 --- a/BankYouBankrupt/BankYouBankruptDatabaseImplement/Migrations/BankYouBancruptDatabaseModelSnapshot.cs +++ b/BankYouBankrupt/BankYouBankruptDatabaseImplement/Migrations/BankYouBancruptDatabaseModelSnapshot.cs @@ -276,14 +276,12 @@ namespace BankYouBankruptDatabaseImplement.Migrations .HasColumnType("int"); b.Property("AccountSenderId") - .IsRequired() .HasColumnType("int"); b.Property("CashierId") .HasColumnType("int"); b.Property("CreditingId") - .IsRequired() .HasColumnType("int"); b.Property("DateOperation") @@ -398,9 +396,7 @@ namespace BankYouBankruptDatabaseImplement.Migrations b.HasOne("BankYouBankruptDatabaseImplement.Models.Account", "AccountSender") .WithMany() - .HasForeignKey("AccountSenderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); + .HasForeignKey("AccountSenderId"); b.HasOne("BankYouBankruptDatabaseImplement.Models.Cashier", "Cashier") .WithMany("MoneyTransfers") @@ -410,9 +406,7 @@ namespace BankYouBankruptDatabaseImplement.Migrations b.HasOne("BankYouBankruptDatabaseImplement.Models.Crediting", null) .WithMany("MoneyTransfers") - .HasForeignKey("CreditingId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); + .HasForeignKey("CreditingId"); b.Navigation("AccountPayeer"); diff --git a/BankYouBankrupt/BankYouBankruptDatabaseImplement/Models/MoneyTransfer.cs b/BankYouBankrupt/BankYouBankruptDatabaseImplement/Models/MoneyTransfer.cs index 452b61e..44e7064 100644 --- a/BankYouBankrupt/BankYouBankruptDatabaseImplement/Models/MoneyTransfer.cs +++ b/BankYouBankrupt/BankYouBankruptDatabaseImplement/Models/MoneyTransfer.cs @@ -18,7 +18,6 @@ namespace BankYouBankruptDatabaseImplement.Models [Required] public int Sum { get; set; } - [Required] public int? AccountSenderId { get; set; } [Required] @@ -27,7 +26,6 @@ namespace BankYouBankruptDatabaseImplement.Models [Required] public DateTime DateOperation { get; set; } - [Required] public int? CreditingId { get; set; } public int CashierId { get; set; } @@ -45,11 +43,13 @@ namespace BankYouBankruptDatabaseImplement.Models Id = model.Id, Sum = model.Sum, Cashier = context.Cashiers.First(x => x.Id == model.CashierId), - AccountSender = context.Accounts.First(x => x.Id == model.AccountSenderId), + AccountSender = model.AccountSenderId == null ? null : context.Accounts.First(x => x.Id == model.AccountSenderId), AccountPayeer = context.Accounts.First(x => x.Id == model.AccountPayeeId), AccountSenderId = model.AccountSenderId, AccountPayeeId = model.AccountPayeeId, - DateOperation = model.DateOperation + DateOperation = model.DateOperation, + CreditingId = model.CreditingId, + CashierId = model.CashierId }; } @@ -65,7 +65,7 @@ namespace BankYouBankruptDatabaseImplement.Models AccountPayeeId = AccountPayeeId, AccountSenderId = AccountSenderId, AccountPayeeNumber = AccountPayeer.AccountNumber, - AccountSenderNumber = AccountSender.AccountNumber, + AccountSenderNumber = AccountSenderId == null ? null : AccountSender.AccountNumber, DateOperation = DateOperation, Sum = Sum, CreditingId = CreditingId, diff --git a/BankYouBankrupt/BankYouBankruptRestAPI/Controllers/AccountController.cs b/BankYouBankrupt/BankYouBankruptRestAPI/Controllers/AccountController.cs index 0a42654..8d95d34 100644 --- a/BankYouBankrupt/BankYouBankruptRestAPI/Controllers/AccountController.cs +++ b/BankYouBankrupt/BankYouBankruptRestAPI/Controllers/AccountController.cs @@ -20,14 +20,21 @@ namespace BankYouBankruptRestApi.Controllers private readonly IDebitingLogic _debitingLogic; + private readonly ICreditingLogic _creditingLogic; + private readonly ICashWithdrawalLogic _cashLogic; - public AccountController(IAccountLogic accountLogic, IDebitingLogic debitingLogic, ICashWithdrawalLogic cashLogic, ILogger logger) + private readonly IMoneyTransferLogic _moneyTransferLogic; + + public AccountController(IAccountLogic accountLogic, IDebitingLogic debitingLogic, ICashWithdrawalLogic cashLogic, + ICreditingLogic creditingLogic, IMoneyTransferLogic moneyTransferLogic, ILogger logger) { _logger = logger; _accountLogic = accountLogic; _debitingLogic = debitingLogic; _cashLogic = cashLogic; + _creditingLogic = creditingLogic; + _moneyTransferLogic = moneyTransferLogic; } [HttpGet] @@ -134,9 +141,27 @@ namespace BankYouBankruptRestApi.Controllers } } + //найти все открытые заявки на снятие средств + [HttpGet] + public List? FindOpenCrediting() + { + try + { + return _creditingLogic.ReadList(new CreditingSearchModel + { + Status = StatusEnum.Открыта + }); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка входа в систему"); + throw; + } + } + //подтверждение заявки на снятие средств со счёта [HttpPost] - public void CloseApplication(CashWithdrawalBindingModel CashWithdrawal) + public void CloseDebiting(CashWithdrawalBindingModel CashWithdrawal) { try { @@ -153,5 +178,34 @@ namespace BankYouBankruptRestApi.Controllers throw; } } + + //подтверждение заявки на снятие средств со счёта + [HttpPost] + public void CloseCrediting(MoneyTransferBindingModel moneyTransfer) + { + try + { + _moneyTransferLogic.Create(moneyTransfer); + + _accountLogic.ChangeBalance(new AccountSearchModel + { + Id = moneyTransfer.AccountPayeeId + }, moneyTransfer.Sum); + + //если нет отправителя, т. е. операция на перевод денег из нала в виртуал на карту + if (moneyTransfer.AccountSenderId.HasValue) + { + _accountLogic.ChangeBalance(new AccountSearchModel + { + Id = moneyTransfer.AccountSenderId + }, moneyTransfer.Sum * -1); + } + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка входа в систему"); + throw; + } + } } } diff --git a/BankYouBankrupt/BankYouBankruptRestAPI/Controllers/CardController.cs b/BankYouBankrupt/BankYouBankruptRestAPI/Controllers/CardController.cs index 2edf664..54208e8 100644 --- a/BankYouBankrupt/BankYouBankruptRestAPI/Controllers/CardController.cs +++ b/BankYouBankrupt/BankYouBankruptRestAPI/Controllers/CardController.cs @@ -76,12 +76,6 @@ namespace BankYouBankruptRestApi.Controllers public void CreateCreditingOperation(CreditingBindingModel model) { try { _creditingLogic.Create(model); - - - //_accountLogic.ChangeBalance(new AccountSearchModel - //{ - // Id = _cardLogic.ReadElement(new CardSearchModel { Id = model.CardId }).AccountId - //}, model.Sum); } catch (Exception ex) { _logger.LogError(ex, "Ошибка создания операции на пополнение");