Developer 02 ab713a23ac Feature-Update: Erweiterung der Envelope- und DocumentReceiverElement-Abfragen
Die Methoden `ReadAllWithAsync` und `ReadByUuidAsync` in `EnvelopeRepository` wurden erweitert, um optional DocumentReceiverElemente und Signaturdetails einzubeziehen.
2024-04-05 16:54:29 +02:00

61 lines
2.9 KiB
Plaintext

@using DigitalData.Core.Contracts.Application;
@using EnvelopeGenerator.Application.DTOs;
@model IServiceResult<EnvelopeDto>;
@{
ViewData["Title"] = "Dokument unterschreiben";
}
@if (Model.IsSuccess && Model.Data is not null)
{
var envelope = Model.Data;
var defaultDocument = envelope.Documents?.FirstOrDefault();
var pages = defaultDocument?.Elements?.Select(e => e.Page) ?? Array.Empty<int>();
var stPageIndexes = string.Join(pages.Count() > 1 ? ", " : "", pages.Take(pages.Count() - 1))
+ (pages.Count() > 1 ? " und " : "") + pages.LastOrDefault();
<nav class="navbar navbar-light bg-light">
<div class="container-fluid">
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarToggleExternalContent" aria-controls="navbarToggleExternalContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="navbar-brand me-auto ms-5 envelope-message">@envelope.Message</div>
<div class="col-1 p-0 m-0 me-3 d-flex">
<img src="~/img/digital_data.svg" alt="...">
</div>
</div>
</nav>
<div class="collapse show" id="navbarToggleExternalContent" data-bs-theme="light">
<div class="bg-light p-1">
<div class="card sender-card mb-3">
<div class="row g-0">
<div class="col-1 p-0 m-0 ps-4 mx-auto">
<img src="~/img/default-user.svg" class="img-fluid p-0 m-0" alt="...">
</div>
<div class="col p-0 m-0">
<div class="card-body p-0 m-0">
<h5 class="card-title p-0 m-0">@envelope.Title</h5>
<p class="card-text p-0 m-0">@($"Sie haben {(pages.Count())} Briefe zu unterschreiben. Bitte prüfen Sie die Seiten {stPageIndexes}.")</p>
<p class="card-text p-0 m-0"><small class="text-body-secondary">Erstellt am @envelope.AddedWhen</small></p>
</div>
</div>
</div>
</div>
</div>
</div>
}
<script>
//document.addEventListener('click', function (event) {
// var navbarToggle = document.getElementById('navbarToggleExternalContent');
// var navbarButton = document.querySelector('[data-bs-target="#navbarToggleExternalContent"]');
// var isCollapsed = new bootstrap.Collapse(navbarToggle)._isTransitioning;
// if (!navbarToggle.contains(event.target) && !navbarButton.contains(event.target) && !isCollapsed) {
// new bootstrap.Collapse(navbarToggle).hide();
// }
//});
document.addEventListener("DOMContentLoaded", async () => {
const app = new App("#app", "@ViewData["EnvelopeKey"]");
await app.init();
})
</script>
<div id='app' style='background: gray; width: 100vw; height: 100vh; margin: 0 auto;'></div>