예제 #1
0
        public Dictionary <Benutzer, double> BerechneKostenProBenutzer()
        {
            var getränkekosten = Benutzer.ToDictionary(b => b, b => 0.0);

            Verbrauche.ForEach(v => getränkekosten[v.Benutzer] += v.AnzahlFlaschen * v.Verkaufsprodukt.Verkaufspreis);
            return(getränkekosten);
        }
예제 #2
0
        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()));
        }