Example #1
0
        private void InternalPrint(Ticket ticket, PrintJob printJob, Func <Order, bool> orderSelector)
        {
            var tasks = _ticketPrintTaskBuilder.GetPrintTasksForTicket(ticket, printJob, orderSelector);

            foreach (var ticketPrintTask in tasks.Where(x => x != null && x.Printer != null && x.Lines != null))
            {
                PrintJobFactory.CreatePrintJob(ticketPrintTask.Printer, _printerService).DoPrint(ticketPrintTask.Lines);
            }
        }
Example #2
0
        public void PrintTicket(Ticket ticket, PrintJob printJob, Func <Order, bool> orderSelector)
        {
            ticket = ObjectCloner.Clone2(ticket);

            Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.ApplicationIdle,
                                                       new Action(
                                                           delegate
            {
                try
                {
                    LocalSettings.UpdateThreadLanguage();
                    var tasks = _ticketPrintTaskBuilder.GetPrintTasksForTicket(ticket, printJob, orderSelector);
                    foreach (var ticketPrintTask in tasks.Where(x => x != null && x.Printer != null && x.Lines != null))
                    {
                        Print(ticketPrintTask.Printer, ticketPrintTask.Lines);
                    }
                }
                catch (Exception e)
                {
                    _logService.LogError(e, Resources.PrintErrorMessage + e.Message);
                }
            }));
        }