public Dictionary <Benutzer, double> BerechneVerlustumlage() { var verluste = BerechneVerluste(); var verbrauchProProdukt = BerechneVerbrauche(); var verbrauche = Verbrauche.ToDictionary(v => new { v.Benutzer, v.Verkaufsprodukt }, v => v.AnzahlFlaschen); // Jeder Benutzer beteiligt sich an den Verlusten anteilig entsprechend seinem Anteil am gesamten Verbrauch dieses Produkts return(Benutzer.ToDictionary(b => b, b => Verkaufsprodukte.Select(p => verbrauchProProdukt[p.Produkt] != 0 ? verluste[p.Produkt] * p.Verkaufspreis * verbrauche[new { Benutzer = b, Verkaufsprodukt = p }] / verbrauchProProdukt[p.Produkt] : 0.0).Sum())); }