@using RazorLight @using Elwig.Helpers @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<(double Grad, double AvgKmw, 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 kmw = quals.Sum(q => q.Sum(kv => kv.AvgKmw * 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 totalKmw = sec.Data.Values.Sum(q => q.Sum(kv => kv.AvgKmw * kv.Weight)) / totalWeight; }

@sec.Name

[@(Model.UseOe ? "°Oe" : "°KMW")] [#] [kg]
@foreach (var qualId in qualIds) {

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

@foreach (var (grad, avgKmw, num, weight) in sec.Data.GetValueOrDefault(qualId, Array.Empty<(double, double, int, int)>())) {
@(Model.UseOe ? $"{grad:N0}" : $"{grad:N1}") @($"{num:N0}") @($"{weight:N0}")
} }
@(weight == 0 ? "-" : Model.UseOe ? $"{Utils.KmwToOe(kmw):N0}" : $"{kmw:N1}") @($"{num:N0}") @($"{weight:N0}")
}