Pouze tento týden sleva až 80 % na e-learning týkající se Pythonu
80 % bodů zdarma na online výuku díky naší Letní akci!

Lekce 7 - E-shop v ASP.NET Core MVC - Správa produktů

V minulé lekci, E-shop v ASP.NET Core MVC - Systém zpráv pro uživatele, jsme přidali do našeho e-shopu systém pro zobrazování zpráv uživatelům.

V dnešním ASP.NET Core tutoriálu začneme se správou produktů. To je poměrně obsáhlé téma a vystačí nám na více lekcí.

Správa produktů

Správa produktů bude obsahovat:

  • administrátorské funkcionality pro přidání nebo editaci produktu (včetně správy obrázků)
  • prohlížení produktů dle vybrané kategorie s možností stránkování
  • zobrazení detailu produktu včetně prezentace obrázků
  • vyhledávání produktů dle názvu
  • možnosti řazení
  • hodnocení produktů uživateli

Přidání nového produktu

Začněme s funkcionalitou přidání nového produktu, možná trochu netypicky pohledem. Formulář pro přidání produktu by měl obsahovat minimálně pole uvedená na následujícím obrázku:

Přidání produktu do e-shopu v ASP.NET Core MVC

Formulář pro přidání produktu

Stejný formulář samozřejmě použijeme také pro editaci produktu. Vzhledem k tomu musíme umožnit uživateli také odstranit obrázky aktuálně přiřazené k produktu. Pole popis může obsahovat formátovaný text, proto využijeme editor TinyMCE.

Než se pustíme do kódu pohledu, zamysleme se nad tím, jaká data bude tento pohled potřebovat. Kromě samotného produktu musíme do formuláře předat také informaci o kategoriích, do kterých lze produkt zařadit. Proto si připravíme viewmodel pro tento pohled (to bychom ostatně měli dělat pro každý pohled).

Viewmodel

Viewmodely nebudou obsahovat žádnou logiku. Budou to jen jakési kontejnery na data, která chceme poslat do pohledu. Je vcelku jedno, kam budeme viewmodely ukládat. Mohou být součástí MVC projektu (protože je budeme plnit daty v kontrolerech a používat v pohledech) stejně jako mohou být součástí business vrstvy (odkud by se případě daly sdílet s dalšími projekty). Já se nakonec přikloním k umístění do MVC projektu. Do složky Models/ si tedy přidejme novou třídu ManageProductViewModel. Její obsah by mohl vypadat nějak takto:


 

...konec náhledu článku...

Komerční článek (licence no-reselling)

Komerční článek (licence no-reselling)

Tento článek vznikl na základě mnohaletých zkušeností v oboru a popisuje vývoj profesionálního komerčního produktu nebo jeho součásti, kterou lze přímo využít za účelem zisku nebo proniknutí do komerční sféry IT odvětví.

Tyto vrcholové znalosti zpřístupňujeme samozřejmě pouze některým členům komunity, kteří se mají zájem vypracovat na profesionály v oboru a proto jsou k dispozici pouze za body. Kód z článku můžete použít pro jeden svůj komerční projekt. Není ho však možné přeprodávat (jednou zakoupit a poté prodat dále v několika projektech). Pokud potřebujete širší využití kódu, rádi se s vámi domluvíme na komerční licenci. Více informací naleznete v článku Licence.

Jste připraveni stát se profesionály v oboru? Stačí kliknout.

Popis článku

Požadovaný článek má následující obsah:

V tutoriálu rozpracujeme administraci produktů, konkrétně kontroler, formulář, pomocný manažer, upravíme repository a nainstalujeme NuGet balíčky.

Omezená nabídka: Nauč se vše a ušetři

Koupit články a funkce postupně a po jednom 1056 bodů
Koupit všechny aktuálně dostupné články v sekci se všemi funkcemi za exkluzivní cenu 898 bodů
Na svém účtu máš aktuálně 0 bodů
Koupí tohoto výhodného balíčku získáš přístup ke všem 34 článkům s kontrolou a certifikací a ještě navíc ušetříš 395 Kč. Nabídka je omezená pouze pro první články z kurzu a obsahuje exkluzivní slevu 15%.
898 bodů získáš za přidání svého článku na síť nebo odpovídá 2 633 Kč 2 238 Kč

Pozor, pokud si koupíš pouze tento článek, ztratíš nárok na speciální slevu 15% na balíček všech článků.

Pro přístup k článku potřebuješ 32 bodů
Na svém účtu máš aktuálně 0 bodů
32 bodů získáš za přidání svého článku na síť nebo odpovídá 80 Kč

Před koupí tohoto článku je třeba koupit předchozí díl

Koupí článku k němu získáš neomezený přístup a to napořád. Posuneš své znalosti zas kousek dopředu a zároveň nám pomůžeš udržovat celý projekt při životě a pomáhat vám tak k lepší budoucnosti.

Obsah článku spadá pod licenci Premium no-reselling II, koupí článku souhlasíš se smluvními podmínkami.

Body získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.

Dobít body můžeš okamžitě např.:

Kartou SMS Převodem
Kartou SMS Převodem
Článek pro vás napsal Martin Petrovaj
Avatar
Autor je lenivý vymýšľať nejaký slušný podpis. Venuje sa ale prevažne C#.
Aktivity (5)