@* Progress Steps *@
@* Step 1: Customer OR Category Selection *@
@if (currentStep == 1)
{
@* Mode Toggle *@
@if (!isInventoryMode)
{
@* Customer Selection Mode *@
Kunde auswählen
@if (isSearching)
{
}
else if (searchResults.Count > 0)
{
@foreach (var customer in searchResults)
{
SelectCustomer(customer)">
@customer.FullName
@if (!string.IsNullOrEmpty(customer.Company))
{
@customer.Company
}
@customer.CustomerNumber
@if (customer.Vehicles.Any(v => v.IsActive))
{
@string.Join(", ", customer.Vehicles.Where(v => v.IsActive).Select(v => v.ShortName))
}
@customer.TireStacks.Count(ts => ts.Status == TireStackStatus.Stored) Stapel
}
}
else if (!string.IsNullOrEmpty(customerSearch))
{
Kein Kunde gefunden
}
@if (showNewCustomerForm)
{
}
@* Vehicle Selection for existing customer *@
@if (selectedCustomer != null && !showNewCustomerForm)
{
Fahrzeug auswählen
@if (customerVehicles.Count == 0)
{
Noch kein Fahrzeug hinterlegt.
}
else
{
@foreach (var vehicle in customerVehicles)
{
SelectVehicle(vehicle)">
@vehicle.DisplayName
@if (vehicle.IsPrimary)
{
Hauptfahrzeug
}
@(vehicle.TireStacks?.Count(ts => ts.Status == TireStackStatus.Stored) ?? 0) Stapel eingelagert
}
}
@* Add new vehicle button *@
@if (showAddVehicleForm)
{
}
}
}
else
{
@* Inventory/Category Selection Mode *@
Kategorie auswählen
Für Neuware/Lieferungen die ins Lager aufgenommen werden sollen.
@if (categories.Count == 0)
{
Keine Kategorien vorhanden
}
else
{
@foreach (var category in categories)
{
SelectCategory(category)">
@if (category.Type == CatalogItemType.Felgen && !string.IsNullOrEmpty(category.PictureFileName))
{
ShowImageZoom(category)">
}
else
{
@if (category.Type == CatalogItemType.Felgen)
{
🛞
}
else
{
@(category.Season == TireSeason.Sommer ? "☀️" : category.Season == TireSeason.Winter ? "❄️" : "🔄")
}
}
@category.Name
@category.DisplayDetails
@(category.Type == CatalogItemType.Felgen ? "Felgen" : "Reifen")
}
}
@if (showNewCategoryForm)
{
}
}
}
@* Step 2: Tire Stack Information *@
@if (currentStep == 2)
{
@if (isInventoryMode)
{
Kategorie: @selectedCategory?.Name
}
else
{
Kunde: @selectedCustomer?.FullName
@if (selectedVehicle != null)
{
🚗 @selectedVehicle.DisplayName
}
}
@(isFelgenCategory ? "Felgen erfassen" : "Reifenstapel erfassen")
@(isFelgenCategory ? "🔩" : "🛞")
@if (isInventoryMode)
{
Stückzahl:
@if (useCustomItemCount)
{
@tireStack.ItemCount
}
else
{
@TireStack.TiresPerStack Stück (Standard)
}
}
else
{
Ein Stapel = @TireStack.TiresPerStack Reifen
}
@if (isInventoryMode && useCustomItemCount)
{
}
@if (!isInventoryMode)
{
@* QR report scan *@
@if (pendingReport == null)
{
📷
Profiltiefen-Report (Launch TTS01) per QR-Code übernehmen
}
else
{
📋
Report wird mit dem neuen Stapel gespeichert
@ReportSummaryFragment(pendingReport)
}
}
@* Tire/Felgen Form *@
@if (!string.IsNullOrEmpty(errorMessage))
{
@errorMessage
}
}
@* Step 3: Storage Location *@
@if (currentStep == 3)
{
@if (isInventoryMode)
{
Kategorie: @selectedCategory?.Name
}
else
{
Kunde: @selectedCustomer?.FullName
@if (selectedVehicle != null)
{
Fahrzeug: @selectedVehicle.DisplayName
}
}
@(isFelgenCategory ? "Felgen" : "Reifenstapel"): @(isInventoryMode && useCustomItemCount ? tireStack.ItemCount : TireStack.TiresPerStack) @(isFelgenCategory ? "Felgen" : "Reifen") @(isFelgenCategory ? "" : $"| {tireStack.Season}")
Lagerplatz auswählen
@if (selectedLocation != null)
{
📋 Zusammenfassung
@if (isInventoryMode)
{
Kategorie
📦 @selectedCategory?.Name
}
else
{
Kunde
👤 @selectedCustomer?.FullName
@if (selectedVehicle != null)
{
Fahrzeug
🚗 @selectedVehicle.DisplayName
}
}
@(isFelgenCategory ? "Felgen" : "Reifen")
@(isInventoryMode && useCustomItemCount ? tireStack.ItemCount : TireStack.TiresPerStack) Stück
@if (!isFelgenCategory)
{
@(tireStack.Season == TireSeason.Sommer ? "☀️" : tireStack.Season == TireSeason.Winter ? "❄️" : "🔄") @tireStack.Season
}
@if (!string.IsNullOrEmpty(tireStack.TireSize))
{
Größe
@tireStack.TireSize @(tireStack.WithRims && !isFelgenCategory ? "| mit Felgen" : "")
}
@if (!string.IsNullOrEmpty(tireStack.TireBrand) || !string.IsNullOrEmpty(tireStack.TireModel))
{
Marke
@tireStack.TireBrand @tireStack.TireModel
}
Lagerplatz
}
@if (locationSelectorCollapsed && selectedLocation != null)
{
}
else
{
@* Area & Row Filter combined *@
@* Location Grid *@
@if (filteredLocations.Count == 0)
{
}
else
{
@foreach (var areaGroup in filteredLocations.GroupBy(l => l.Area).OrderBy(g => (int)g.Key))
{
@(areaGroup.Key == AreaType.Lager ? "🏭" : "🔧") @areaGroup.Key.GetDisplayName()
@foreach (var rowGroup in areaGroup.GroupBy(l => l.Row).OrderBy(g => g.Key))
{
Reihe @rowGroup.Key
@foreach (var loc in rowGroup.OrderBy(l => l.Position).ThenBy(l => l.SlotNumber))
{
}
}
}
}
}
@if (!string.IsNullOrEmpty(errorMessage))
{
@errorMessage
}
}
@* Step 4: Confirmation *@
@if (currentStep == 4)
{
✓
Erfolgreich eingelagert!
@if (isInventoryMode)
{
Kategorie:
@selectedCategory?.Name
}
else
{
Kunde:
@selectedCustomer?.FullName
Fahrzeug:
@(selectedVehicle?.DisplayName ?? "-")
}
@(isFelgenCategory ? "Felgen:" : "Reifenstapel:")
@(createdTireStack?.ItemCount ?? TireStack.TiresPerStack) @(isFelgenCategory ? "Felgen" : "Reifen")
Saison:
@createdTireStack?.Season
@if (!string.IsNullOrEmpty(createdTireStack?.TireSize))
{
Größe:
@createdTireStack.TireSize
}
@if (!string.IsNullOrEmpty(createdTireStack?.TireBrand))
{
Marke:
@createdTireStack.TireBrand @createdTireStack.TireModel
}
Lagerplatz:
@if (selectedLocation != null)
{
}
Eingelagert am:
@createdTireStack?.StoredAt.ToLocalTime().ToString("dd.MM.yyyy HH:mm")
@if (createdTireStack != null && !isInventoryMode)
{
}
Zur Übersicht
}
@* Image Zoom Overlay *@
@if (showImageZoom && zoomImageUrl != null)
{