@page "/ticket/edit/{Id:guid}" @rendermode InteractiveServer @using TodoTicketApp.Models @using TodoTicketApp.Services @inject ITicketService TicketService @inject NavigationManager Nav
@if (ticket == null) {

Lade Ticket...

} else {
@(ticket.IsCompleted ? "Erledigt" : "Offen")
Kommentare (@ticket.Comments.Count)
@foreach (var c in ticket.Comments.OrderByDescending(x => x.CreatedAt)) {
@c.CreatedAt.ToLocalTime().ToString("g")

@c.Text

}
Anhänge
@foreach (var file in ticket.AttachmentNames) {
@file
}
}
@code { [Parameter] public Guid Id { get; set; } private Ticket? ticket; private string newCommentText = ""; protected override void OnInitialized() { ticket = TicketService.GetTicketById(Id); } private void Save() { if (ticket != null) TicketService.UpdateTicket(ticket); Nav.NavigateTo("/"); } private void AddComment() { if (!string.IsNullOrWhiteSpace(newCommentText) && ticket != null) { TicketService.AddComment(ticket.Id, new TicketComment { Text = newCommentText }); newCommentText = ""; StateHasChanged(); } } private void MockAddFile() { ticket?.AttachmentNames.Add($"dokument_{DateTime.Now.Ticks % 1000}.pdf"); } private void GoBack() => Nav.NavigateTo("/"); }