@page "/ticket/edit/{Id:guid}" @rendermode InteractiveServer @using TodoTicketApp.Models @using TodoTicketApp.Services @inject ITicketService TicketService @inject NavigationManager Nav Ticket Bearbeiten
@if (ticket == null) {
Lade Ticket...
} else {
@if (ticket.IsWaitingForFeedback) { Wartet auf Rückmeldung } @if (ticket.IsCompleted) { Erledigt } else if (!ticket.IsWaitingForFeedback) { Aktiv }

Kommentare (@ticket.Comments.Count)

@foreach (var c in ticket.Comments.OrderByDescending(x => x.CreatedAt)) {
@c.CreatedAt.ToLocalTime().ToString("g")
@c.Text
} @if (!ticket.Comments.Any()) {
Noch keine Kommentare vorhanden.
}

Anhänge (@ticket.AttachmentNames.Count)

@foreach (var file in ticket.AttachmentNames) {
@file
} @if (!ticket.AttachmentNames.Any()) {
Keine Anhänge vorhanden.
}
}
@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("/"); }