Florian Mihalits 4772d0d462 Add auto-payout feature for wallets with balances
Introduced new methods in `IWalletService` and `WalletService` to retrieve wallets with positive balances. Added `AutoPayout` and `RunAutoPayout` methods in `ToolsController` to automate payouts, including synchronization with MangoPay balances.

Created `AutoPayoutVm` and `RunAutoPayoutVm` view models. Added Razor views `AutoPayout.cshtml` and `RunAutoPayout.cshtml` for managing and displaying payout processes.

Updated `appsettings` files to reduce `MinPayoutAmmount` from 1000 to 1. Refactored `ToolsController` for better wallet handling, added error handling, and improved code formatting. Commented out KYC check logic in `ApiPaymentController` with a TODO for review.
2025-11-21 13:19:58 +01:00

38 lines
1.1 KiB
Plaintext

@using gehGassi.Permissions
@using gehGassi.Web.Helper
@using Microsoft.AspNetCore.Mvc.Localization
@model List<gehGassi.Web.Models.AutoPayoutVm>;
@inject IViewLocalizer Localizer
@{
ViewData["Title"] = Localizer["Menu_Tools"];
}
@section pageTitle {
<a href="@Url.Action("Index", "Home")">@Localizer["Menu_Tools"]</a>
}
<section id="autoPayoutListContainer">
<table class="table table-striped">
<thead>
<tr>
<th>App user</th>
<th>Type</th>
<th>Balance</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>@item.AppUser.FirstName @item.AppUser.LastName</td>
<td>@item.Wallet.Type.ToString()</td>
<td>€ @((item.Wallet.Balance / 100).ToString("N2"))</td>
</tr>
}
</tbody>
</table>
<div class="text-center mt-5">
<a href="@Url.Action("RunAutoPayout", "Tools")" class="btn btn-primary">Run Auto Payout</a>
</div>
</section>