Úkol kolekce objektů - filtrování
V Zadání úkolu najdete jednoduchý úkol, který objasňuje příkazy jako Where, Select, GroupBy apod.
1. Zadání úkolu
Co je cílem zadání?
- Vytvoření dvou tříd Zaměstnanec a Oddělení pro evidenci osob a statistické výstupy.
- Vytvoření seznamu zaměstnanců a následné strukturované zobrazení dat do připraveného informačního dashboardu.
- Získání a výpočet základních metrik z dat, jako je celkový počet zaměstnanců, celkové mzdové náklady, průměrný a nejvyšší plat.
- Vyfiltrování a seřazení konkrétní podskupiny dat pro zobrazení nadstandardně placených osob a extrakce pouhých jmen do textového výpisu.
- Seskupení dat podle oddělení a jejich přeměna na nové statistické objekty, vyhledání konkrétního záznamu a ověření zadané platové podmínky.
Zadání
Vytvořte třídu Zamestnanec, která bude reprezentovat pracovníka firmy a bude mít vlastnosti Id, Jmeno, Oddeleni a Plat.
Dále vytvořte pomocnou třídu Oddeleni, která bude sloužit pro uložení vypočítaných statistik. Tato třída bude mít vlastnosti NazevOddeleni, PocetZamestnancu a CelkoveNaklady.
V Razor komponentě vytvořte kolekci objektů (seznam), která bude sloužit jako zdroj dat a uchovávat instance třídy Zamestnanec. Tento seznam rovnou naplňte několika testovacími záznamy s různými odděleními a platy.
Aplikaci naprogramujte tak, aby analyzovala data z tohoto seznamu a přehledně je vypsala do stránky. Zaměřte se na využití metod pro filtrování, řazení, seskupování a matematické výpočty nad kolekcí. Výsledek seskupování (GroupBy()) uložte právě do připravených instancí třídy Oddeleni.
Cílem je vytvořit analytický panel (dashboard), který uživateli zobrazí:
- Celkové statistiky podniku (počet lidí, průměrný plat, celkové mzdové náklady).
- Seznam nadstandardně placených zaměstnanců seřazený od nejvyššího platu.
- Souhrnnou tabulku, která rozdělí zaměstnance podle oddělení a sečte pro ně náklady.
- Výsledek vyhledání konkrétního člověka podle jeho ID.
Příklad, jak by mohla stránka vypadat:
Pokud se okno nenačetlo, klikněte zde.