Geek tričko zdarma Geek tričko zdarma
Tričko zdarma! Stačí před dobitím bodů použít kód TRIKO15. Více informací zde

Lekce 34 - E-shop v ASP.NET Core MVC - Dokončení obchodu

Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem.
Vydávání, hosting a aktualizace umožňují jeho sponzoři.

V minulé lekci, E-shop v ASP.NET Core MVC - Změna objednávky 2 - Zákazník, jsme do editace objednávky implementovali část editace údajů o odběrateli. Dnes budeme v ASP.NET Core tutoriálu pokračovat správou produktů a celý internetový obchod dokončíme :)

Správa produktů

Na konec jsme si nechali asi nejsložitější část editace objednávky - správu produktů. V této části bude administrátor moci měnit množství jednotlivých produktů, odstraňovat je z objednávky nebo přidávat jiné. Samozřejmě i zde se budeme snažit využít maximum z kódu, který již máme napsaný. Příslušná část formuláře bude vypadat nějak takto:

Správa produktů v e-shopu v ASP.NET MVC

Než se do toho pustíme...

V našem pohledu budeme využívat také vlastnost objednávky FinalPrice. Její hodnota se ovšem musí přepočítat při každé změně a ne pouze při dokončení objednávky jako doposud. Proto navrhuji výpočet provádět někde na úrovni repository, abychom náhodou na přepočet někde nezapomněli. Mohli bychom například v EOrderRepository přepsat metodu Update():

public override void Update(EOrder entity)
{
    var setting = accountingSettingRepository.FindSettingByDate(entity.Issued ?? DateTime.UtcNow);
    if (setting != null)
    {
        entity.FinalPrice = entity.ProductEOrders.Sum(x => x.Quantity * x.Product.Price);
        entity.FinalPrice = (int)Math.Round((double)entity.FinalPrice * (setting.Vat / 100.0 + 1));
    }
    base.Update(entity);
}

Úprava ViewModelu

Abychom administrátorovi umožnili přidat do objednávky libovolný produkt, musíme si do pohledu poslat ještě seznam produktů. Rozšiřme si tedy OrderEditViewModel:


 

...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álev 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:

Dokončíme editaci objednávky administrátorem e-shopu v ASP.NET Core MVC. Pro správu produktů a aktualizaci dat na pozadí využijeme AJAX.

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

Koupit články a funkce postupně a po jednom 1056 bodů
Koupit celý kurz se všemi články a 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č

Koupit pouze tento článek

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

 

Aktivity (3)