- EntityFramework Core
- UnitOfWork-Muster
- WebApi
Die Entitätsklassen sind bereits angelegt. Auch die Annotationen zur Definition (inkl. der Migrationen) der Datenbank sind bereits implementiert.
Die Klasse Movie
verwaltet die Informationen zu einem konkreten Film inkl. dem Verweis auf die Kategorie (Category
) des Films.
Im Core-Layer sind die Contracts für die Repositories bedarfsgerecht zu erweitern. Die leeren Interfaces sind bereits vorgegeben.
Die Persistierung besteht bereits und ist im Projekt MovieManager.Persistence
implementiert.
Die Logik zum Einlesen der Movies (inkl. Categories) ist bereits im Projekt MovieManager.ImportConsole
implementiert.
Implementieren Sie zur bestehenden Persistenzschicht eine WebApi analog zum Live-Coding.
Ihre WebApi sollte zumdindest folgende Aufrufe unterstützen:
- Abfrage aller Kategorien (Sortierung: Namen aufsteigend)
- Abfrage aller Filme einer Kategorie (z.B.: Action) (Sortierung: Name aufsteigend)
- Abfrage aller Filme inkl. Kategorie (Sortierung: Erscheinungsjahr absteigend, danach nach Filmtitel aufsteigend)
- Abfrage aller Kategorien inkl. durchschnittlicher Filmdauer, Gesamtdauer aller Filme und die Anzahl der Filme. Sortiert nach Anzahl der Film absteigend
Verwenden Sie dazu das die Visual Studio Code Extension REST Client.
Es gibt bereits eine Datei rest.http
mit den entsprechenden Anforderungen als Kommentar.