public static void Main(string[] args)
        {
            PopulateCatalog();

            Sale sale = new Sale();

            sale.DateTime = DateTime.Now;
            sale.AddLineItem(new SalesLineItem(1, ProductAt(0)));
            sale.AddLineItem(new SalesLineItem(2, ProductAt(1)));
            sale.AddLineItem(new SalesLineItem(3, ProductAt(2)));

            AllInOnePrinter printer = new AllInOnePrinter();

            printer.PrintTicket(sale, Destination.Console);
            printer.PrintTicket(sale, Destination.File);
        }
        public static void Main(string[] args)
        {
            PopulateCatalog();

            Sale sale = new Sale();

            sale.DateTime = DateTime.Now;
            sale.AddLineItem(new SalesLineItem(1, ProductAt(0)));
            sale.AddLineItem(new SalesLineItem(2, ProductAt(1)));
            sale.AddLineItem(new SalesLineItem(3, ProductAt(2)));

            IPrinter consolePrinter = new ConsolePrinter();
            IPrinter filePrinter    = new FilePrinter();

            consolePrinter.PrintTicket(sale);
            filePrinter.PrintTicket(sale);
        }