@* Search Section *@

Suche

@if (!string.IsNullOrEmpty(errorMessage)) { } @if (!string.IsNullOrEmpty(successMessage)) {
@successMessage
}
@* Scanned Items List *@ @if (scannedTireStacks.Count > 0) {

@scannedTireStacks.Count Reifenstapel zum Abholen

@foreach (var ts in scannedTireStacks) {
@ts.TicketNumber @if (ts.StorageLocation != null) { } else { 📍 - }
@if (ts.Customer != null) { @ts.Customer.FullName @if (ts.Vehicle != null) { @ts.Vehicle.ShortName } } else if (ts.CatalogItem != null) { 📦 @ts.CatalogItem.Name } else { 📦 Lagerbestand }
1 Stapel (@TireStack.TiresPerStack Reifen) @(ts.Season == TireSeason.Sommer ? "☀️" : ts.Season == TireSeason.Winter ? "❄️" : "🔄") @if (!string.IsNullOrEmpty(ts.TireSize)) { @ts.TireSize } @if (ts.WithRims) { mit Felgen }
@if (!string.IsNullOrEmpty(ts.TireBrand)) {
@ts.TireBrand @ts.TireModel
}
Eingelagert: @ts.StoredAt.ToLocalTime().ToString("dd.MM.yyyy") (@ts.DaysStored Tage)
}
} @* Tire Swap Panel *@ @if (swapOutgoing != null) {

Reifenwechsel

@* Outgoing *@

Herausgabe (wird montiert)

Ticket
@swapOutgoing.TicketNumber
Kunde
@swapOutgoing.Customer?.FullName
@if (swapOutgoing.Vehicle != null) {
Fahrzeug
@swapOutgoing.Vehicle.Make @swapOutgoing.Vehicle.Model
}
Saison
@SeasonLabel(swapOutgoing.Season)
Größe
@(swapOutgoing.TireSize ?? "-")
Marke / Modell
@(string.IsNullOrWhiteSpace(swapOutgoing.TireBrand) && string.IsNullOrWhiteSpace(swapOutgoing.TireModel) ? "-" : $"{swapOutgoing.TireBrand} {swapOutgoing.TireModel}".Trim())
Lagerplatz
@if (swapOutgoing.StorageLocation != null) { } else { - }
@* Incoming *@

Einlagerung (kommt vom Fahrzeug)

@if (swapUseHistory) {
@foreach (var h in swapHistory) { var isSameSeason = h.Season == swapOutgoing.Season; }
} else {
}
@* Target location *@
Lagerplatz für Einlagerung: @if (swapTargetLocation != null) { @if (swapTargetLocation.Id == swapOutgoing.StorageLocationId) { (frei werdender Platz) } else { } } else { Kein Lagerplatz gewählt }
} @* Search Results *@ @if (searchResults.Count > 0) {

@searchResults.Count Ergebnis(se)

@foreach (var ts in searchResults) { var isAlreadyScanned = scannedTireStacks.Any(s => s.Id == ts.Id);
@ts.TicketNumber @if (isAlreadyScanned) { ✓ Ausgewählt } else { @ts.StatusText }
@if (ts.Customer != null) { @ts.Customer.FullName @if (ts.Vehicle != null) { @ts.Vehicle.ShortName } } else { 📦 @(ts.CatalogItem?.Name ?? "Lagerbestand") }
1 Stapel (@TireStack.TiresPerStack Reifen) @ts.Season @(ts.TireSize != null ? $"| {ts.TireSize}" : "")
@if (ts.StorageLocation != null) { } else { 📍 Kein Lagerplatz } Seit @ts.StoredAt.ToLocalTime().ToString("dd.MM.yyyy")
}
} @* Storage location picker (rack view) for swap *@ @if (swapOutgoing != null) { } @* Action Chooser Modal *@ @if (actionCandidate != null) {
} @* Swap Success Modal *@ @if (swapResult != null) {
✓

Reifenwechsel erfolgreich!

⬆️ @swapResult.Outgoing.TicketNumber @SeasonLabel(swapResult.Outgoing.Season) montiert
⬇️ @swapResult.Incoming.TicketNumber @SeasonLabel(swapResult.Incoming.Season) eingelagert auf @swapResult.NewLocationCode
@if (swapResult.FreedLocationCode != null && swapResult.FreedLocationCode != swapResult.NewLocationCode) {

Lagerplatz @swapResult.FreedLocationCode ist wieder frei.

}
} @* Success Modal *@ @if (showSuccess) {
✓

Abholung erfolgreich!

@if (pickedUpTireStacks.Count == 1) {

@pickedUpTireStacks[0].TicketNumber wurde abgeholt.

1 Stapel (@TireStack.TiresPerStack Reifen) abgeholt

} else {

@pickedUpTireStacks.Count Reifenstapel wurden abgeholt.

@(pickedUpTireStacks.Count * TireStack.TiresPerStack) Reifen insgesamt

@foreach (var ts in pickedUpTireStacks) {
@ts.TicketNumber 1 Stapel | @(ts.Customer?.FullName ?? ts.CatalogItem?.Name ?? "Lagerbestand")
}
}

@if (freedLocations.Count == 1) { Lagerplatz @freedLocations[0] ist wieder frei. } else if (freedLocations.Count > 1) { @freedLocations.Count Lagerplätze sind wieder frei. }

}