Evidence Autobazaru - WPF Aplikace
Popis projektu
WPF aplikace pro evidenci vozidel v autobazaru s možností serializace a deserializace dat.
Funkce aplikace
? Implementované funkce
-
CRUD operace
- Create (Přidání vozidla)
- Read (Zobrazení seznamu a detailů)
- Update (Úprava vozidel)
- Delete (Mazání vozidel)
-
Serializace a deserializace
- Ukládání dat do JSON souboru (
vehicles.json) - Automatické načítání dat při spuštění aplikace
- Ukládání dat do JSON souboru (
-
Evidence vozidel
- SPZ
- Značka (např. Škoda, BMW, Audi)
- Model
- Rok výroby
- Palivo (Benzín, Nafta, Elektro, Hybrid, LPG, CNG)
- Nájezd v km
- Cena v Kč
- Barva (s výběrem z Color Dialogu)
- Fotografie (uložená jako Base64)
-
Evidence vlastníků
- Jméno
- Příjmení
- Adresa
- Telefon
??? Uživatelské rozhraní
Hlavní okno (MainWindow)
- Seznam všech vozidel v přehledné tabulce
- Zobrazení: SPZ, Značka a Model, Barva, Rok, Palivo
- Akce:
- Přidat vozidlo - otevře okno pro přidání nového vozidla
- Detail - zobrazí detailní informace o vybraném vozidle
- Upravit - umožní editaci vybraného vozidla
- Smazat - smaže vybrané vozidlo (s potvrzením)
- Double-click na vozidlo otevře detail
Okno přidání vozidla (AddVehicleWindow)
- Formulář pro zadání všech údajů o vozidle
- Výběr barvy pomocí Color Dialogu
- Výběr paliva z ComboBoxu
- Možnost přidat fotografii
- Sekce pro zadání informací o vlastníkovi
- Validace číselných vstupů
Okno úpravy vozidla (EditVehicleWindow)
- Předvyplněné údaje z vybraného vozidla
- Náhled aktuální fotografie
- Možnost změny všech údajů včetně vlastníka
- Stejné funkce jako v okně přidání
Okno detailu vozidla (VehicleDetailWindow)
- Kompletní zobrazení všech informací
- Zobrazení fotografie vozidla
- Informace o vlastníkovi
- Tlačítka pro úpravu, smazání nebo zavření
Struktura projektu
Třídy
Vehicle.cs
- Spz: string
- Znacka: string
- Model: string
- Barva: string
- RokVyroby: int?
- Palivo: string
- NajeteKm: int?
- Cena: decimal?
- Fotografie: string (Base64)
- Vlastnik: Owner
- ZnackaModel: string (computed property)
Owner.cs
- Jmeno: string
- Prijmeni: string
- Adresa: string
- Telefon: string
- Email: string
- CeleJmeno: string (computed property)
DataManager.cs
- AddVehicle(Vehicle)
- GetAllVehicles(): IEnumerable<Vehicle>
- RemoveVehicle(Vehicle)
- Save() - serializace do JSON
- Load() - deserializace z JSON
Technologie
- .NET 8.0
- WPF (Windows Presentation Foundation)
- System.Text.Json - pro serializaci/deserializaci
- Windows Forms ColorDialog - pro výběr barvy
Principy návrhu
Separation of Concerns (SoC)
- Model -
Vehicle.cs,Owner.cs - Data Logic -
DataManager.cs - View - XAML soubory (MainWindow, AddVehicleWindow, EditVehicleWindow, VehicleDetailWindow)
- View Logic - Code-behind soubory (.xaml.cs)
Čistota kódu
- Jasné pojmenování proměnných a metod
- Validace vstupů (PreviewTextInput pro číselné hodnoty)
- Ošetření chyb (try-catch bloky při práci s obrázky)
- Oddělení logiky od prezentace
Instalace a spuštění
- Otevřete projekt v Visual Studio 2022 nebo novějším
- Ujistěte se, že máte nainstalovaný .NET 8.0 SDK
- Stiskněte F5 nebo klikněte na Start pro spuštění aplikace
- Data se automaticky ukládají do souboru
vehicles.jsonve stejné složce jako aplikace
Ovládání aplikace
Přidání vozidla
- Klikněte na tlačítko "Přidat vozidlo"
- Vyplňte údaje o vozidle
- Vyberte barvu pomocí tlačítka "Vybrat barvu"
- (Volitelně) Vyberte fotografii
- (Volitelně) Vyplňte údaje o vlastníkovi
- Klikněte na "Ulozit"
Zobrazení detailu
- Double-click na vozidlo v seznamu, nebo
- Vyberte vozidlo a klikněte na "Detail"
Úprava vozidla
- Vyberte vozidlo v seznamu
- Klikněte na "Upravit"
- Změňte požadované údaje
- Klikněte na "Ulozit"
Smazání vozidla
- Vyberte vozidlo v seznamu
- Klikněte na "Smazat"
- Potvrďte smazání
Ukládání dat
Data jsou uložena v souboru vehicles.json ve formátu:
[
{
"Spz": "1A2 3456",
"Znacka": "Skoda",
"Model": "Octavia",
"Barva": "#FF0000",
"RokVyroby": 2020,
"Palivo": "Benzín",
"NajeteKm": 50000,
"Cena": 350000,
"Fotografie": "base64_string...",
"Vlastnik": {
"Jmeno": "Jan",
"Prijmeni": "Novak",
"Adresa": "Praha 1",
"Telefon": "+420123456789",
"Email": "jan.novak@email.cz"
}
}
]
Autor
Vytvořeno pro předmět PTA25 - Programování v C#
Termín odevzdání
1. 3. 2026
Description
Languages
C#
100%