@using RazorLight @inherits TemplatePage @model Elwig.Documents.WineQualityStatistics @{ Layout = "Document"; }

Qualitätsstatistik

@Model.Filter

@foreach (var sec in Model.Data.Sections) { @foreach (var qualIds in Model.QualIds) { } @foreach (var qualIds in Model.QualIds) { var quals = qualIds.Select(q => sec.Data.GetValueOrDefault(q, Array.Empty<(int Oe, int Num, int Weight)>())); var weight = quals.Sum(q => q.Sum(kv => kv.Weight)); var num = quals.Sum(q => q.Sum(kv => kv.Num)); var oe = quals.Sum(q => q.Sum(kv => (double)kv.Oe * kv.Weight)) / weight; } @{ var totalWeight = sec.Data.Values.Sum(q => q.Sum(kv => kv.Weight)); var totalNum = sec.Data.Values.Sum(q => q.Sum(kv => kv.Num)); var totalOe = sec.Data.Values.Sum(q => q.Sum(kv => (double)kv.Oe * kv.Weight)) / totalWeight; }

@sec.Name

[°Oe] [#] [kg]
@foreach (var qualId in qualIds) {

@(Model.QualityLevels.GetValueOrDefault(qualId, qualId))

@foreach (var (oe, num, weight) in sec.Data.GetValueOrDefault(qualId, Array.Empty<(int, int, int)>())) {
@oe @($"{num:N0}") @($"{weight:N0}")
} }
@(weight == 0 ? "-" : $"{oe:N0}") @($"{num:N0}") @($"{weight:N0}")
}