Nejprve připravíme datovou část naší appky. To znamená, že napíšeme SQL skripty pro vytvoření databáze, skripty pro vytvoření tabulek a dále skripty pro naplnění databázových tabulek nějakými výchozími daty.
Nezapomeňte na definici primárních (PK) a cizích (FK) klíčů v SQL skriptech. Primární klíč je skoro vždy nějaký sloupec ID. Cizí klíč slouží pro modelování vztahů (relací) mezi business objekty (v databázi mezi tabulkami).
Tím jsme vyřešili relační část, přemýšlíme-li v intencích ORM (objektově-relačního mapování).
Na té objektové straně (tedy ve Visual Studiu, v jazyce C#) vytvoříme business objekty, přidáme anotace kvůli ORM mapování na naši databázi, definujeme databázový kontext. K business objektům napíšeme repo třídy a nakonec i interface-y pro servisní třídy a vlastní servisní třídy (aplikační vrstva).
Na straně business objektů definujeme vztahy (relace) mezi business objekty pomocí tzv. navigačních vlastností (referencí na jiné objekty, případně na kolekce jiných objektů – podle toho, o jakou stranu relace 1:N se jedná).
Popis business objektů (neboli entit) se nachází zde.
Když uživatel spustí aplikaci (prozatím neřešíme login a oprávnění), zobrazí se mu okno, na kterém bude hlavní menu, vytvořené například pomocí tlačítek.
Pokud uživatel zvolí "přehrávání písniček", zobrazí se mu nové okno s přehledem všech dostupných písniček. Bude si moci vybrat písničku a spustit její přehrávání.
Na hlavním menu bude mít uživatel k dispozici další volby (tlačítka):
Ke každému business objektu vytvoříme standardní dvojici oken (např. ArtistListWindow a ArtistEditWindow) pro zobrazení seznamu a editaci detailu. Administrace každého business objektu umožní operace CRUD (CREATE, READ, UPDATE, DELETE).
Do menu bychom mohli přidat ještě další možnost, a to "přehrávání playlistů". Protože jsou písničky organizované do alb (což je de facto druh playlistu) a alba jsou roztříděna podle umělců, kteří je vytvořili, bude možné spustit i sekvenční přehrávání písniček z celého uživatelem vybraného alba.
Jak může vypadat uživatelské rozhraní k této fázi projektu, si můžete prohlédnout zde.
Jelikož triáda Artist-Album-Song je vlastně hierarchie, zobrazíme uživateli tuto datovou strukturu jako tzv. treeview. Treeview vypadá podobně jako zobrazení složek ve Windows Exploreru (průzkumníku souborů).
Příklad takového treeview je zde:
Pro vaši inspiraci - celé okno s prvkem treeview pro výběr hudební skupiny a alba, s listboxem pro výběr písničky a s jednoduchým UI pro přehrávání písniček (media player) je potom tady.