Example #1
0
        private void PrintOrderLines(Ticket ticket, IEnumerable <Order> orders, PrinterMap map)
        {
            Debug.Assert(orders != null, "orders != null");
            var lns = orders.ToList();

            if (!lns.Any())
            {
                return;
            }
            if (map == null)
            {
                MessageBox.Show(Resources.GeneralPrintErrorMessage);
                _logService.Log(Resources.GeneralPrintErrorMessage);
                return;
            }
            var printer        = PrinterById(map.PrinterId);
            var prinerTemplate = PrinterTemplateById(map.PrinterTemplateId);

            if (printer == null || string.IsNullOrEmpty(printer.ShareName) || prinerTemplate == null)
            {
                return;
            }
            var ticketLines = _ticketFormatter.GetFormattedTicket(ticket, lns, prinerTemplate);

            var processor = GetPrinterProcessor(printer.ShareName);

            if (processor != null)
            {
                ticketLines = processor.Process(ticket, lns, ticketLines);
            }
            if (ticketLines != null)
            {
                PrintJobFactory.CreatePrintJob(printer).DoPrint(ticketLines);
            }
        }
Example #2
0
        private void PrintOrderLines(Ticket ticket, IEnumerable <Order> lines, PrinterMap p)
        {
            Debug.Assert(lines != null, "lines != null");
            var lns = lines.ToList();

            if (lns.Count() == 0)
            {
                return;
            }
            if (p == null)
            {
                //todo: globalize
                MessageBox.Show("Yazdırma sırasında bir problem tespit edildi: Yazıcı Haritası null");
                AppServices.Log("Yazıcı Haritası NULL problemi tespit edildi.");
                return;
            }
            var printer        = PrinterById(p.PrinterId);
            var prinerTemplate = PrinterTemplateById(p.PrinterTemplateId);

            if (printer == null || string.IsNullOrEmpty(printer.ShareName) || prinerTemplate == null)
            {
                return;
            }
            var ticketLines = TicketFormatter.GetFormattedTicket(ticket, lns, prinerTemplate);

            PrintJobFactory.CreatePrintJob(printer).DoPrint(ticketLines);
        }
 public void Print()
 {
     if (_printer == null || string.IsNullOrEmpty(_printer.ShareName))
     {
         return;
     }
     AsyncPrintTask.Exec(false, () => PrintJobFactory.CreatePrintJob(_printer, _printerService).DoPrint(_document), _logService);
 }
Example #4
0
 public void PrintReport(FlowDocument document, Printer printer)
 {
     if (printer == null || string.IsNullOrEmpty(printer.ShareName))
     {
         return;
     }
     PrintJobFactory.CreatePrintJob(printer).DoPrint(document);
 }
        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 #6
0
 public void ExecutePrintJob(PrintJob printJob)
 {
     if (printJob.PrinterMaps.Count > 0)
     {
         var printerMap      = printJob.PrinterMaps[0];
         var printerTemplate = PrinterTemplates.Single(x => x.Id == printerMap.PrinterTemplateId);
         var content         = printerTemplate.Template.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
         PrintJobFactory.CreatePrintJob(PrinterById(printerMap.PrinterId)).DoPrint(content);
     }
 }
Example #7
0
        public void PrintReport(FlowDocument document)
        {
            var printer = _applicationState.CurrentTerminal.ReportPrinter;

            if (printer == null || string.IsNullOrEmpty(printer.ShareName))
            {
                return;
            }
            PrintJobFactory.CreatePrintJob(printer).DoPrint(document);
        }
        public void PrintObject(object item, Printer printer, PrinterTemplate printerTemplate)
        {
            var formatter = DocumentFormatters.FirstOrDefault(x => x.ObjectType == item.GetType());

            if (formatter != null)
            {
                var lines = formatter.GetFormattedDocument(item, printerTemplate);
                if (lines != null)
                {
                    AsyncPrintTask.Exec(false, () => PrintJobFactory.CreatePrintJob(printer, this).DoPrint(lines), _logService);
                }
            }
        }
Example #9
0
 private void Print(Printer printer, string[] document)
 {
     Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.ApplicationIdle,
                                                new Action(
                                                    delegate
     {
         try
         {
             LocalSettings.UpdateThreadLanguage();
             PrintJobFactory.CreatePrintJob(printer, this).DoPrint(document);
         }
         catch (Exception e)
         {
             _logService.LogError(e, Resources.PrintErrorMessage + e.Message);
         }
     }));
 }
Example #10
0
        public void ViewModelProcessed(object sender, OnProcessedArgs args)
        {
            var processType = args.ProcessType;
            var gratuity    = _viewModel.Gratuity;
            var ticket      = SelectedTicket;
            var txType      = ((ComboBoxItem)_view.FdTransactionType.SelectedItem).Tag;


            var result = new CreditCardProcessingResult {
                ProcessType = processType
            };
            var amount = _viewModel.TenderedAmount + gratuity;

            if (processType == ProcessType.External)
            {
                result.Amount = amount;
                InteractionService.UserIntraction.DeblurMainWindow();
                _view.Close();
                result.PublishEvent(EventTopicNames.PaymentProcessed);
                return;
            }


            if (processType == ProcessType.Swipe)
            {
                string debugTrack = "";
                _view.CardStatus.Text = Samba.Localization.Properties.Resources.SwipeCreditCard;
                _view.Refresh();
                var ccData = ReadCreditCardTrackData(out debugTrack);
                if (ccData == null)
                {
                    if (String.IsNullOrWhiteSpace(debugTrack))
                    {
                        _view.CardStatus.Text = Samba.Localization.Properties.Resources.CreditCardReadFailed;
                    }
                    else
                    {
                        _view.CardStatus.Text = debugTrack;
                    }
                    _view.Refresh();
                    return;
                }

                _view.CardExpire.Text     = ccData.CardExpiry;
                _view.CardName.Text       = ccData.CardName;
                _view.CardNumber.Password = ccData.CardNumber;
                _view.CardStatus.Text     = Samba.Localization.Properties.Resources.CreditCardReadSuccess;
                _view.Refresh();
                return;
            }



            if (processType == ProcessType.Force)
            {
                string requestStatus;
                _view.CardStatus.Text = "";
                _view.Refresh();

                var resp = Force(ticket, amount, out requestStatus);
                if (resp != null)
                {
                    //rjoshi fix me

                    var content = resp.ctr.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
                    PrintJobFactory.CreatePrintJob(AppServices.CurrentTerminal.SlipReportPrinter).DoPrint(content);

                    if (resp.transaction_approved)
                    {
                        result.Amount         = amount;
                        _view.CardStatus.Text = resp.bank_message;

                        //TODO Print job
                    }
                    else
                    {
                        _view.CardStatus.Text = resp.bank_message;
                        _view.Refresh();
                        return;
                    }
                }
                else
                {
                    _view.CardStatus.Text = Localization.Properties.Resources.CreditCardRequestSendFailure + " " + requestStatus;
                    _view.Refresh();
                    return;
                }
            }
            else if (processType == ProcessType.External)
            {
                result.Amount = amount;
            }
            InteractionService.UserIntraction.DeblurMainWindow();
            _view.Close();
            result.PublishEvent(EventTopicNames.PaymentProcessed);
        }