Beispiel #1
0
        private bool CanDuplexing(string printerName, Duplexing duplexing)
        {
            if (!Printers.Contains(printerName))
            {
                return(false);
            }

            var queue        = _LocalPrintServer.GetPrintQueue(printerName);
            var capabilities = queue.GetPrintCapabilities();

            return(capabilities.DuplexingCapability.Contains(duplexing));
        }
        public void Add(BasePrinter basePrinter)
        {
            if (ReferenceEquals(basePrinter, null))
            {
                throw new ArgumentNullException(nameof(basePrinter));
            }

            Console.WriteLine("Enter printer name and model");
            basePrinter.Name  = Console.ReadLine();
            basePrinter.Model = Console.ReadLine();

            if (!Printers.Contains(basePrinter))
            {
                Printers.Add(basePrinter);
                Console.WriteLine("Printer added");
            }
        }
        /// <summary>
        /// Sets default printer.
        /// </summary>
        private void SetDefaultPrinter()
        {
            LogHelper.LogDebug();

            // check if it's Demo mode
            if (IsTestMode)
            {
                Printer pr = demoPrinters.DefaultPrinter;

                if (!demoPrinters.Contains(pr))
                {
                    SelectedPrinterIndex = 0;
                }
                else
                {
                    SelectedPrinterIndex = demoPrinters.IndexOf(pr);
                }

                ChosenPrinter = demoPrinters.ByColor(PrintWithColor)[SelectedPrinterIndex];
            }
            else
            {
                if (MainController.Singleton.HasAvailablePrinters)
                {
                    Printer pr = MainController.Singleton.AvailablePrinters.DefaultPrinter;
                    if (pr != null)
                    {
                        if (!Printers.Contains(pr))
                        {
                            SelectedPrinterIndex = 0;
                        }
                        else
                        {
                            SelectedPrinterIndex = Printers.IndexOf(pr);
                        }

                        ChosenPrinter = MainController.Singleton.AvailablePrinters.ByColor(PrintWithColor)[SelectedPrinterIndex];
                    }
                    else
                    {
                        ChosenPrinter = MainController.Singleton.AvailablePrinters[0];
                    }
                }
            }
        }
        public void Start()
        {
            var config = _configService.GetConfiguration();

            IsActive = config.IsPrinterActivated;

            Printers.Clear();
            foreach (var printer in PrinterSettings.InstalledPrinters)
            {
                Printers.Add(printer.ToString());
            }

            IsActive = Printers.Contains(config.Printer);
            if (IsActive)
            {
                DefaultPrinter = config.Printer;
            }
        }