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.