73 lines
2.6 KiB
Plaintext
73 lines
2.6 KiB
Plaintext
@page
|
|
@model ListmonkIntegration.Pages.Subscribers.UploadModel
|
|
@{
|
|
ViewData["Title"] = "Загрузка подписчиков";
|
|
}
|
|
|
|
<h1>Загрузка списка подписчиков</h1>
|
|
<hr />
|
|
|
|
@if (!string.IsNullOrEmpty(Model.Message))
|
|
{
|
|
<div class="alert @(Model.IsSuccess ? "alert-success" : "alert-danger")">
|
|
@Model.Message
|
|
</div>
|
|
}
|
|
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<form method="post" enctype="multipart/form-data">
|
|
<div class="mb-3">
|
|
<label class="form-label">Выберите Excel файл (.xlsx)</label>
|
|
<input type="file" name="excelFile" class="form-control" accept=".xlsx" required />
|
|
<div class="form-text">
|
|
Файл должен содержать столбцы: Email, FullName и другие атрибуты
|
|
</div>
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<label class="form-label">Название списка в Listmonk</label>
|
|
<input type="text" name="listName" class="form-control" value="Рассылка @DateTime.Now.ToString("dd.MM.yyyy")" required />
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<button type="submit" class="btn btn-primary">Загрузить и обработать</button>
|
|
<a asp-page="/Index" class="btn btn-secondary">Отмена</a>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
@if (Model.Subscribers != null && Model.Subscribers.Any())
|
|
{
|
|
<h3 class="mt-4">Загружено подписчиков: @Model.Subscribers.Count</h3>
|
|
|
|
@if (Model.ColumnHeaders != null && Model.ColumnHeaders.Any())
|
|
{
|
|
<div class="table-responsive">
|
|
<table class="table table-striped table-sm">
|
|
<thead class="table-dark">
|
|
<tr>
|
|
@foreach (var header in Model.ColumnHeaders)
|
|
{
|
|
<th>@header</th>
|
|
}
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach (var sub in Model.Subscribers)
|
|
{
|
|
<tr>
|
|
<td>@sub.Email</td>
|
|
<td>@sub.FullName</td>
|
|
@foreach (var attr in sub.Attributes)
|
|
{
|
|
<td>@attr.Value</td>
|
|
}
|
|
</tr>
|
|
}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
}
|
|
} |