Exemple #1
0
        static void Main(string[] args)
        {
            List <Product> productsBuy = new List <Product>()
            {
                new Product("Computer", 122.4M),
                new Product("Notebook", 17.3M),
                new Product("Phone", 22.4M),
            };

            List <Product> productsSale = new List <Product>()
            {
                new Product("Analitycs", 200.5M),
                new Product("Consulting", 300M),
            };

            BuyDocument  bd = new BuyDocument(productsBuy);
            SaleDocument sd = new SaleDocument(productsSale);

            ISummable[] listDoc = new ISummable[2];
            listDoc[0] = bd;
            listDoc[1] = sd;

            foreach (var item in listDoc)
            {
                item.Average();
            }

            Console.ReadKey();
        }
Exemple #2
0
        // расширяющий метод для интерфейса ISummable вычиляет среднюю цену позиции в документе

        public static void Average(this ISummable doc)
        {
            int     count = 0;
            decimal total = 0;

            foreach (Product p in doc)
            {
                count++;
                total += p.Price;
            }

            Console.WriteLine($"Сдредняя цена продукта в документе {(decimal)total/count:0.000}");
        }
Exemple #3
0
        public static void SumSummable(ISummable input)
        {
            var sum = SumForable(input);

            input.Sum = sum;
        }