/// <summary> /// Добавляет новый принтер в общий список. /// </summary> /// <param name="newPrinter">Новый принтер</param> public void AddNewPrinter(PrinterDTO newPrinter) { if (newPrinter != null) { Printers.Add(newPrinter); } }
/// <summary> /// Добавляет новый принтер в список подсети. /// </summary> /// <param name="newPrinter">Новый принтер</param> public void AddPrinter(Printer newPrinter) { if (newPrinter != null) { Application.Current.Dispatcher.Invoke(() => Printers.Add(newPrinter)); } }
/// <summary> /// /// </summary> /// <returns></returns> public static Printers GetPrinters() { try { LogHelper.LogDebug(); Printers printers = new Printers(); ManagementObjectSearcher searchPrinters = new ManagementObjectSearcher(_searchQueryPrinters); ManagementObjectCollection printerCollection = searchPrinters.Get(); foreach (ManagementObject printer in printerCollection) { PrinterSettings ps = new PrinterSettings(); ps.PrinterName = printer.Properties["Name"].Value.ToString(); if (ps.IsValid) { printers.Add(new Printer(ps.PrinterName, ps.PrinterName, ps.IsDefaultPrinter, ps.SupportsColor)); } } return(printers); } catch (Exception ex) { LogHelper.Log(ex); return(null); } }
public PosSettings() { foreach (string printer in System.Drawing.Printing.PrinterSettings.InstalledPrinters) { Printers.Add(printer); } }
/// <summary> /// Resets demo printers. /// </summary> private void ResetDemoPrinters() { if (IsBlockedMode) { return; } Printers = new Printers(); foreach (var item in demoPrinters) { Printers.Add(item); } }
private async Task ListPrinters() { Printers.Clear(); var result = Service.GetAllPrinters(); foreach (var item in result) { Printers.Add(item); } await Task.CompletedTask; }
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"); } }
public ElvaSettings() { foreach (string printer in System.Drawing.Printing.PrinterSettings.InstalledPrinters) { Printers.Add(printer); } //var lsngs = Properties.Settings.Default.LANGS; //foreach (var item in lsngs) //{ // Langs.Add(item); //} // Langs = Tx.AvailableCultureNames.ToList(); // Load Cultures LoadCultureInfos(); }
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; } }
public virtual void InitializeProperties() { try { Printers = PrintUtility.GetPrinters(); SetLocalPrinter(); var defaultPrintQueue = PrintUtility.GetDefaultPrintQueue(string.Empty); IsMarkPageNumbers = true; var defaultPrinterFullName = defaultPrintQueue.FullName; var defaultExists = false; foreach (var printer in Printers) { if (printer.Name == defaultPrintQueue.Name) { defaultExists = true; break; } } if (!defaultExists) { Printers.Add(defaultPrintQueue); var temp = Printers; Printers = null; Printers = temp; } CurrentPrinterName = defaultPrinterFullName; CurrentPrinter = Printers.First(e => e.FullName == defaultPrinterFullName); PrintOptionsSetterIsEnable(false); SetPrintError(false); var userPrintTicket = PrintUtility.GetUserPrintTicket(CurrentPrinter.FullName); if (userPrintTicket != null) { CurrentPrinter.UserPrintTicket = userPrintTicket; } SetCurrentPaper(CurrentPrinter.UserPrintTicket.PageMediaSize); SetPageOrientation(CurrentPrinter.UserPrintTicket.PageOrientation); ExecuteSetPrintingOptions(false); } catch (Exception ex) { SetPrintError(true); } }
/// <summary> /// 加载远程打印机(不需收银时) /// </summary> /// <returns></returns> public async Task LoadRemotePrinterAsync() { var printers = await Request.GetPrintersAsync(Business.Id); if (printers != null) { printers.ForEach(a => { var printer = new Printer { Device = a }; if (printer.Device.State == 1) { printer.Open(); Printers.Add(printer); } }); } }
/// <summary> /// Добавляет принтер в общий список устройств репозитория. /// </summary> /// <param name="printer">Принтер</param> public void AddPrinter(Printer printer) { if (printer != null) { Application.Current.Dispatcher.Invoke(() => { Printers.Add(printer); SimpleSummary summary = ModelSummaries.FirstOrDefault(x => x.Parameter == printer.Model); if (summary is null) { var newSummary = new SimpleSummary(printer.Model, 1); ModelSummaries.Add(newSummary); } else { summary.Count++; } ModelSummaries.Sort(); }); DeviceCount++; } }
/// <summary> /// Constructor. Demo Mode. /// </summary> /// <param name="userPC">user PC name</param> /// <param name="documentName">document name</param> /// <param name="pageCount">page count</param> /// <param name="colorPageCost">color page cost</param> /// <param name="blackAndWhitePageCost">black and white page cost</param> /// <param name="isColorDocument">is color document flag</param> /// <param name="printers">list of printers</param> public PrintingControlModel(string userPC, string documentName, int pageCount, int colorPageCost, int blackAndWhitePageCost, bool isColorDocument, Printers printers) { IsTestMode = true; NumberOfPages = pageCount; PostScriptMetaData = new PostScriptMetaData() { Title = documentName, NumberOfPages = pageCount, HasColor = isColorDocument }; FileHasColor = isColorDocument; UserPC = userPC; ColorPageCost = colorPageCost; BlackAndWhitePageCost = blackAndWhitePageCost; Printers = printers; SelectedPrinterIndex = 0; ChosenPrinter = Printers[0]; IsControlsEnabled = true; demoPrinters = new Printers(); foreach (var item in printers) { demoPrinters.Add(item); } }
/// <summary> /// 重新加载内存数据 /// </summary> /// <returns></returns> public async Task ReloadAsync() { using (var scope = DataBase.BeginLifetimeScope()) { var service = scope.Resolve <IUtilService>(); var orderService = scope.Resolve <IOrderService>(); Types.Clear(); Products.Clear(); DeskTypes.Clear(); Desks.Clear(); // 产品列表 (await service.GetProductTypeAsync())?.ForEach(a => { Types.Add(a); a.Products?.ForEach(b => Products.Add(b)); }); // 产品库存 (await service.GetProductStocksAsync())?.ForEach(a => { var product = Products.FirstOrDefault(b => b.Id == a.ProductId); if (product == null) { return; } product.Stock = a.Stock; }); // 桌台 (await service.GetDeskTypesAsync())?.ForEach(a => { DeskTypes.Add(a); a.Desks?.ForEach(b => Desks.Add(b)); }); // 未完成订单 orderService.GetUnfinishOrder()?.ForEach(order => { var desk = Desks.FirstOrDefault(a => a.Id == order.DeskId); if (desk == null) { return; } desk.Order = order; }); service.PubSubscribe("SystemMessage", "ResetDeskStatus"); var clientPrinters = await service.GetAllAsync <ClientPrinter>(); // 将删除的打印机关闭 var delPrinter = new List <Printer>(); Printers.ForEach(a => { var printer = clientPrinters?.FirstOrDefault(b => a.Device.Id == b.Id); if (printer != null) { return; } a.Close(); delPrinter.Add(a); }); delPrinter.ForEach(a => Printers.Remove(a)); clientPrinters?.ForEach(item => { var printer = Printers.FirstOrDefault(a => a.Device.Id == item.Id); if (printer == null) { printer = new Printer { Device = item }; Printers.Add(printer); } else { printer.Device = item; } if (printer.Device.State == 1) { printer.Open(); } else { printer.Close(); } }); } }
/// <summary> /// Changes list of printers /// </summary> public void ChangePrinters() { LogHelper.LogDebug(); // check if it's Demo mode if (IsTestMode) { ResetDemoPrinters(); bool nocolored = false; CanPrintWithColor = true; Printers printers = null; if (PrintWithColor) { printers = Printers.Colored; if (printers == null || printers.Count < 1) { nocolored = true; } } else { printers = demoPrinters; } if (nocolored) { LogHelper.LogDebug("No available color printers found. You are not allowed to print colored this time."); WPFNotifier.Warning("No available color printers found. You are not allowed to print colored this time."); CanPrintWithColor = false; return; } if (printers == null || printers.Count < 1) { LogHelper.LogDebug("No available printers found. You are not allowed to print this time."); WPFNotifier.Warning("No available printers found. You are not allowed to print this time."); return; } LogHelper.LogDebug("Add printers to combo : " + printers.Count); Printers.Clear(); foreach (var name in printers.ToArray()) { LogHelper.LogDebug("Adding : " + name); Printers.Add(name); } LogHelper.LogDebug("Added printers to combo : " + Printers.Count); Thread.Sleep(100); SetDefaultPrinter(); } else { try { bool nocolored = false; CanPrintWithColor = true; Printers printers = null; if (PrintWithColor) { printers = MainController.Singleton.AvailablePrinters.Colored; if (printers == null || printers.Count < 1) { nocolored = true; } } else { printers = MainController.Singleton.AvailablePrinters; } if (nocolored) { LogHelper.LogDebug("No available color printers found. You are not allowed to print colored this time."); WPFNotifier.Warning("No available color printers found. You are not allowed to print colored this time."); CanPrintWithColor = false; return; } if (printers == null || printers.Count < 1) { LogHelper.LogDebug("No available printers found. You are not allowed to print this time."); WPFNotifier.Warning("No available printers found. You are not allowed to print this time."); return; } LogHelper.LogDebug("Add printers to combo : " + printers.Count); MainController.Singleton.Dispatcher.Invoke(new Action(() => { try { Printers.Clear(); foreach (var name in printers.ToArray()) { LogHelper.LogDebug("Adding : " + name); Printers.Add(name); } LogHelper.LogDebug("Added printers to combo : " + Printers.Count); } catch (Exception ex) { WPFNotifier.Error("XXX.", null, ex); } }), DispatcherPriority.Background); Thread.Sleep(100); SetDefaultPrinter(); } catch (Exception ex) { WPFNotifier.Error("This printer is not available now. Try to use one of the other printers.", null, ex); Close(); } } }