Пример #1
0
        static void Main(string[] args)
        {
            ISupplierVisitor supplierVisitor = new SupplierVisitor();
            IRecordCreator   recordVisitor   = new RecordCreator();

            var farmer = new Farmer();

            farmer.MoneyToPay = 1950;
            farmer.Pay(supplierVisitor);
            farmer.GenerateReport(recordVisitor);
            Console.WriteLine($"Amount left to pay FARMER after calling Pay(): {farmer.MoneyToPay}");

            var foreignSeller = new ForeignSeller();

            foreignSeller.MoneyToPay = 50_000;
            foreignSeller.Pay(supplierVisitor);
            foreignSeller.GenerateReport(recordVisitor);
            Console.WriteLine($"Amount left to pay FOREIGN SUPPLIER after calling Pay(): {foreignSeller.MoneyToPay}");

            var cottageIndustrySeller = new CottageIndustrySupplier();

            cottageIndustrySeller.MoneyToPay = 890;
            cottageIndustrySeller.Pay(supplierVisitor);
            cottageIndustrySeller.GenerateReport(recordVisitor);
            Console.WriteLine($"Amount left to pay COTTAGE SUPPLIER after calling Pay(): {cottageIndustrySeller.MoneyToPay}");

            Console.Read();
        }
 public void GenerateReport(CottageIndustrySupplier f) => Console.WriteLine("Report for cottage supplier generated");