예제 #1
0
        static void Main(string[] args)
        {
            PrinterManager printerManager = new PrinterManager();

            string fileName = "123.txt";

            while (true)
            {
                System.Console.WriteLine("\nSelect your choice:");
                System.Console.WriteLine("1:Add new printer");
                System.Console.WriteLine("2:Print on Canon");
                System.Console.WriteLine("3:Print on Epson");

                var key = System.Console.ReadKey();

                if (key.Key == ConsoleKey.D1)
                {
                    System.Console.WriteLine("\nEnter Name: ");
                    string name = System.Console.ReadLine();
                    System.Console.WriteLine("Enter Model: ");
                    string model = System.Console.ReadLine();
                    printerManager.CreatePrinter(name, model);
                }

                if (key.Key == ConsoleKey.D2)
                {
                    printerManager.Print("Canon", fileName);
                }

                if (key.Key == ConsoleKey.D3)
                {
                    printerManager.Print("Epson", fileName);
                }
            }
        }
예제 #2
0
        private static void ShowPrintMenu()
        {
AGAIN:
            ShowPrinters();

            System.Console.ForegroundColor = ConsoleColor.Cyan;
            System.Console.WriteLine("Non-number: Back To Main Menu");

            System.Console.ForegroundColor = ConsoleColor.Blue;
            System.Console.Write("Your Choice: ");

            string typeResult = System.Console.ReadLine();

            if (!int.TryParse(typeResult, out int index))
            {
                return;
            }

            Printer[] printers = printerManager.Printers.ToArray();

            if (index >= printers.Length || index < 0)
            {
                System.Console.ForegroundColor = ConsoleColor.Red;
                System.Console.Clear();
                System.Console.WriteLine("Invalid index of printer");
                System.Console.ResetColor();
                goto AGAIN;
            }

            printerManager.Print(printers[index]);
        }
예제 #3
0
        static void Main(string[] args)
        {
            PrinterManager pm = new PrinterManager();

            // Заранее созданные объекты, которые раньше инициализировались
            // с собственными типами Canon и Epson
            Printer canon = new Printer("Canon", "X321");
            Printer epson = new Printer("Epson", "ZOOM");

            pm.Add(canon); pm.Add(epson);
            MenuHandler.mapPrinters = new Dictionary <int, Printer> {
                { 0, canon }, { 1, epson }
            };

            ConsoleKeyInfo key = default(ConsoleKeyInfo);

            while (key.Key != ConsoleKey.Backspace)
            {
                MenuHandler.GenerateMap(pm);
                MenuHandler.PrintMenu(pm);

                key = System.Console.ReadKey();
                if (key.Key == ConsoleKey.D1)
                {
                    System.Console.WriteLine();
                    MenuHandler.CreateNewPrinter(pm);
                }
                else
                {
                    pm.Print(MenuHandler.mapPrinters[
                                 key.KeyChar - MenuHandler.ASCI_CODE_0_DIGIT - MenuHandler.MENU_ITEMS_SHIFT
                             ]);
                }
            }
        }
예제 #4
0
        private void buttonPrintReceipt_Click(object sender, RoutedEventArgs e)
        {
#if !DEMO
            PrinterManager.Print(PrintDestination.Receipt,
                                 DeviceManager.ActivePosPrinterLocal, SelectedTicket,
                                 TicketItemPrintOptions.AllNonCanceled);
#else
            PosDialogWindow.ShowDialog(Types.Strings.DisabledInDemoVersion, Types.Strings.Disabled);
#endif
        }
예제 #5
0
 public static void FireEntrees(Ticket ticket)
 {
     PrinterManager.Print(ticket, TicketItemPrintOptions.AllUnfired);
     foreach (TicketItem ticketItem in
              from ticketItem in TicketItem.GetAll(ticket.PrimaryKey)
              let item = Item.Get(ticketItem.ItemId)
                         where item.IsFired select ticketItem)
     {
         ticketItem.Fire();
     }
 }
예제 #6
0
        private static void CancelTicket(Ticket selectedTicket, bool wasMade)
        {
            // Print out hard copys for record keeping
            PrinterManager.Print(selectedTicket, (wasMade ?
                                                  TicketItemPrintOptions.AllAsCancelMade :
                                                  TicketItemPrintOptions.AllAsCancelUnmade));

            selectedTicket.Cancel(SessionManager.ActiveEmployee.Id, wasMade);
            ClearTicketCoupons(selectedTicket.PrimaryKey);
            ClearTicketDiscounts(selectedTicket.PrimaryKey);
        }
예제 #7
0
        private static void PrintFiles()
        {
            System.Console.Clear();
            System.Console.WriteLine("Choose files to each printer:");
            foreach (Printer p in manager.Printers)
            {
                manager.Print(p);
            }

            System.Console.WriteLine();
        }
예제 #8
0
        private static void ShowPrintersSection(PrinterManager pm)
        {
            System.Console.WriteLine("Select your choice:");
            for (int i = 1; i < pm.Printers.Count + 1; i++)
            {
                System.Console.WriteLine($"{i}. {pm.Printers[i - 1].Name}\t{pm.Printers[i - 1].Model}");
            }

            System.Console.WriteLine("Esc to previous step");

            var key = System.Console.ReadKey();

            if (key.Key == ConsoleKey.Escape)
            {
                return;
            }

            if (key.Key == ConsoleKey.D1)
            {
                pm.Print(pm.Printers[0]);
            }

            if (key.Key == ConsoleKey.D2)
            {
                pm.Print(pm.Printers[1]);
            }

            if (key.Key == ConsoleKey.D3)
            {
                pm.Print(pm.Printers[2]);
            }

            if (key.Key == ConsoleKey.D4)
            {
                pm.Print(pm.Printers[3]);
            }

            //не успевал подумать об этом блоке
        }
예제 #9
0
        static void Main(string[] args)
        {
            PrinterManager.Print("Static print");
            PrinterManager.Instance.Print();

            // This will still refer to the instance created earlier
            var instance1 = PrinterManager.Instance;
            var instance2 = PrinterManager.Instance;

            Console.WriteLine(string.Format("Instance 1 and Instance 2 are Same? : {0}", instance1 == instance2));

            instance1.Print();
            instance2.Print();

            Console.ReadLine();
        }
예제 #10
0
        public void Print_method_works_properly()
        {
            var logger  = new FileLogger("Log.txt");
            var manager = new PrinterManager(logger);
            var printer = new NetworkPrinter()
            {
                Name = "Canon", Model = "LBP6000"
            };

            manager.Add(printer);
            string expected = "12345";
            string path     = @"C:\Users\Илья\Desktop\12.txt";

            string result = manager.Print(printer, path);

            Assert.AreEqual(expected, result);
        }
예제 #11
0
        private static void VoidTicket(Ticket selectedTicket)
        {
            // Print out hard copys for record keeping
            PrinterManager.Print(selectedTicket, TicketItemPrintOptions.AllAsVoid);

            double amount = selectedTicket.GetSubTotal();

            TicketVoid.Add(SessionManager.ActiveEmployee.Id, selectedTicket.PrimaryKey, null, amount);

            ClearTicketCoupons(selectedTicket.PrimaryKey);
            ClearTicketDiscounts(selectedTicket.PrimaryKey);

            TicketDelivery.DeleteByTicket(selectedTicket.PrimaryKey);
            foreach (TicketItem ticketItem in
                     TicketItem.GetAll(selectedTicket.PrimaryKey))
            {
                bool updateInventory = !(ticketItem.IsCanceled && !ticketItem.IsWasted);
                ticketItem.Delete(updateInventory);
            }
            TicketManager.Delete(selectedTicket.PrimaryKey);
        }