- ASP.NET Core Razor Pages
- Entity Framework Core
- Muster: UnitOfWork, Repositories
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 ein Razor Page Projekt analog zum Live-Coding.
Erstellen Sie ein geeignetes ASP.NET Core Projekt (inkl. Abhängigkeiten) mit der Bezeichnung MovieManager.Web
.
Verwenden Sie Dependency Injection um die UnitOfWork
in den PageModels
verwenden zu können!
Implementieren Sie zumindest folgende zwei Razor Pages:
- Stellen Sie alle Kategorien in einer Tabelle übersichtlich dar.
- Spalten der Tabelle
- Kategoriename
- Anzahl der Filme
- Durchschnittliche Dauer der Filme
- Schaltfläche um zu den Details der Kategorie zu navigieren (Label: „Details“)
- Sortierung der Tabelle
- Anzahl der Filme der Kategorie (absteigend)
- Name der Kategorie als Überschrift (
<h1>…</h1>
) - Stellen Sie alle Filme der entsprechenden Katgegorie in einer Tabelle übersichtlich dar.
- Spalten der Tabelle
- Filmtitel
- Dauer
- Erscheinungsjahr
- Sortierung der Tabelle
- Filmtitel (aufsteigend)
- Schaltfläche um wieder zur Page „Overview“ zurückzukommen.
- Verwenden Sie dort wo sinnvoll DataTransferObjects
- Achten Sie eine korrekte Schichtentrennung (Core, Persistence und Web)
- Verwenden Sie das UnitOfWork-Muster
- Dependency Injection (IoC) verwenden
- Erweitern Sie wo notwendig die Repositories