Files
StockFin/StockFin/Views/Stocks/UpdateFromTradeRepublic.cshtml
T
2026-06-22 21:21:12 +02:00

78 lines
2.1 KiB
Plaintext

@{
ViewData["Title"] = "Import Trade Republic";
}
<div class="sf-page">
<section class="sf-page-hero is-dark">
<div>
<span class="sf-page-kicker">Import</span>
<h1 class="sf-page-title">Import depuis Trade Republic</h1>
<p>Chargez un export CSV pour enrichir automatiquement votre univers titres avec un flux de travail plus propre.</p>
</div>
<div class="sf-page-actions">
<a asp-action="Index" class="sf-btn-ghost">
<i class="bi bi-arrow-left"></i>
<span>Retour aux titres</span>
</a>
</div>
</section>
<section class="sf-content-card">
<div class="sf-alert-stack">
@if (ViewBag.ImportResult is not null)
{
<div class="alert alert-success alert-dismissible fade show mb-0" role="alert">
<strong>Import réussi :</strong> @ViewBag.ImportResult lignes traitées.
<button type="button" class="btn-close" data-bs-dismiss="alert"></button>
</div>
}
@if (!ViewData.ModelState.IsValid)
{
<div class="alert alert-danger mb-0">
<ul class="mb-0">
@foreach (var error in ViewData.ModelState.Values.SelectMany(v => v.Errors))
{
<li>@error.ErrorMessage</li>
}
</ul>
</div>
}
</div>
<div class="sf-card-header mt-4">
<div>
<h2>Chargement du fichier</h2>
<p>Sélectionnez le fichier <em>Exportation de transactions.csv</em> exporté depuis Trade Republic.</p>
</div>
</div>
<form asp-action="UpdateFromTradeRepublic" method="post" enctype="multipart/form-data" class="sf-form-shell">
@Html.AntiForgeryToken()
<div class="sf-form-section">
<div class="sf-field">
<label for="csvFile" class="form-label">Fichier CSV</label>
<input type="file"
class="form-control"
id="csvFile"
name="csvFile"
accept=".csv"
required />
</div>
</div>
<div class="sf-form-actions">
<button type="submit" class="sf-btn-secondary">
<i class="bi bi-cloud-upload"></i>
<span>Importer</span>
</button>
<a asp-action="Index" class="sf-btn-ghost">
<i class="bi bi-x-circle"></i>
<span>Annuler</span>
</a>
</div>
</form>
</section>
</div>