From 18208cbcc52ba8093e84ec19482d645d2fbe2f0f Mon Sep 17 00:00:00 2001 From: metacube Date: Fri, 29 May 2026 13:23:06 +0200 Subject: [PATCH] Add product division category icons --- .../Components/Pages/ManagementCockpit.razor | 60 ++++++++++++++++++- 1 file changed, 58 insertions(+), 2 deletions(-) diff --git a/TrafagSalesExporter/Components/Pages/ManagementCockpit.razor b/TrafagSalesExporter/Components/Pages/ManagementCockpit.razor index a1590a0..5adbaec 100644 --- a/TrafagSalesExporter/Components/Pages/ManagementCockpit.razor +++ b/TrafagSalesExporter/Components/Pages/ManagementCockpit.razor @@ -359,7 +359,11 @@ @T("Laender", "Countries") - @BuildCodeText(context.ProductDivisionCode, context.ProductDivisionText) + + + @BuildCodeText(context.ProductDivisionCode, context.ProductDivisionText) + @if (ShowProductFamilyColumn) { @BuildCodeText(context.ProductFamilyCode, context.ProductFamilyText) @@ -508,7 +512,11 @@ @context.ReferenceMaterial @BuildCodeText(context.ProductHierarchyCode, context.ProductHierarchyText) @BuildCodeText(context.ProductFamilyCode, context.ProductFamilyText) - @BuildCodeText(context.ProductDivisionCode, context.ProductDivisionText) + + + @BuildCodeText(context.ProductDivisionCode, context.ProductDivisionText) + @context.RowCount.ToString("N0") @FormatValue(context.NetSalesActual, context.Currency) @@ -1197,6 +1205,54 @@ return string.IsNullOrWhiteSpace(text) ? code : $"{code} - {text}"; } + private static string ResolveProductDivisionIcon( + string productDivisionCode, + string productDivisionText, + string productFamilyText, + string productHierarchyText) + { + var combinedText = string.Join(' ', productDivisionText, productFamilyText, productHierarchyText).ToUpperInvariant(); + + if (string.Equals(productDivisionCode, "UNASS", StringComparison.OrdinalIgnoreCase) || + combinedText.Contains("NICHT ZUGEORDNET", StringComparison.OrdinalIgnoreCase) || + combinedText.Contains("UNASS", StringComparison.OrdinalIgnoreCase)) + { + return Icons.Material.Filled.HelpOutline; + } + + if (combinedText.Contains("GAS", StringComparison.OrdinalIgnoreCase) || + combinedText.Contains("DENSITY", StringComparison.OrdinalIgnoreCase)) + { + return Icons.Material.Filled.Sensors; + } + + if (combinedText.Contains("PRESSURE", StringComparison.OrdinalIgnoreCase) || + combinedText.Contains("DRUCK", StringComparison.OrdinalIgnoreCase)) + { + return Icons.Material.Filled.Compress; + } + + if (combinedText.Contains("TEMP", StringComparison.OrdinalIgnoreCase) || + combinedText.Contains("THERMOSTAT", StringComparison.OrdinalIgnoreCase)) + { + return Icons.Material.Filled.DeviceThermostat; + } + + if (combinedText.Contains("SWITCH", StringComparison.OrdinalIgnoreCase) || + combinedText.Contains("SCHALTER", StringComparison.OrdinalIgnoreCase)) + { + return Icons.Material.Filled.ToggleOn; + } + + if (combinedText.Contains("ACCESS", StringComparison.OrdinalIgnoreCase) || + combinedText.Contains("ZUBEH", StringComparison.OrdinalIgnoreCase)) + { + return Icons.Material.Filled.Extension; + } + + return Icons.Material.Filled.Category; + } + private static string JoinCountries(IEnumerable countryValues) { var countries = countryValues