HelpDeskHero — komentarze i historia zmian ticketu w EF Core

W dziesiątym odcinku serii HelpDeskHero Production Edition rozbudowuję aplikację o komentarze oraz historię zmian ticketu. W poprzednim odcinku dodałem workflow w praktyce, czyli endpoint: POST /api/tickets/{id}/change-state Dzięki temu ticket nie zmienia statusu dowolnie, tylko przechodzi przez proces zdefiniowany w tabeli WorkflowTransitions. Teraz idę krok dalej. W prawdziwym systemie helpdesk nie wystarczy wiedzieć, jaki jest aktualny stan zgłoszenia. Trzeba też wiedzieć, co działo się z ticketem wcześniej: kto dodał komentarz, kiedy to zrobił, z jakiego stanu ticket przeszedł do jakiego oraz jaki komentarz został podany przy zmianie stanu. Najważniejsza myśl tego odcinka: Ticket to nie tylko aktualny stan. Ticket to także historia pracy nad zgłoszeniem. W odcinku pokazuję między innymi: jak dodać encję TicketComment, jak dodać encję TicketHistoryEntry, czym różni się komentarz od historii zdarzeń, jak rozbudować encję Ticket o kolekcje komentarzy i historii, jak dodać nowe DbSety do AppDbContext, jak rozszerzyć IAppDbContext, jak przygotować konfiguracje EF Core dla nowych tabel, jak dodać migrację AddTicketCommentsAndHistory, jak przygotować AddCommentRequest, jak przygotować TicketHistoryItemDto, jak dodać metodę AddCommentAsync, jak dodać metodę GetHistoryAsync, jak zapisywać historię przy zmianie stanu ticketu, jak dodać endpoint POST /api/tickets/{id}/comments, jak dodać endpoint GET /api/tickets/{id}/history, jak przetestować całość w Swaggerze, jak sprawdzić dane w SQL Server. W tym odcinku bardzo ważne jest rozróżnienie: Komentarz to komunikacja. Historia to ślad zdarzeń. Komentarz odpowiada na pytanie: co ktoś dopisał do ticketu? Historia odpowiada na pytanie: co wydarzyło się z ticketem? Po tym odcinku HelpDeskHero zaczyna przypominać prawdziwy system helpdeskowy, w którym zgłoszenie ma nie tylko aktualny status, ale również pełny kontekst pracy nad problemem. Najważniejsza myśl: Ticket to nie tylko aktualny stan. Ticket to także historia pracy nad zgłoszeniem. Tagi / SEO .NET, ASP.NET Core, EF Core, Entity Framework Core, SQL Server, Web API, HelpDeskHero, ticket system, komentarze, historia zmian, audit trail, Clean Architecture, Application Service, DTO, migrations, SQL Server 2022, C#, backend, kurs .NET, kurs EF Core, programowanie, system helpdesk