Exemplo n.º 1
0
        private void MonitorPrintQueue()
        {
            var         errorLog   = loggerFactory.Create <MessageConsumer>("ErrorLog");
            var         successLog = loggerFactory.Create <MessageConsumer>("SuccessLog");
            IConnection connection = null;

            successLog.Debug("Listening for print messages");

            connection = messageConsumer.GetConnection(messagingHost, messagingPort, hostUsername, hostPassword);
            foreach (var printMessage in messageConsumer.ListenForMessages(connection, hostExchange, hostQueue, routeKey))
            {
                try
                {
                    if (printMessage == null)
                    {
                        throw new InvalidOperationException("Message format was incorrect.");
                    }
                    pdfPrinter.PrintPDF(printMessage.FilePath, printMessage.OutputFile, printerName);
                    successLog.Success(printMessage.ToString());
                }
                catch (InvalidOperationException ex)
                {
                    errorLog.Error($"Failure to print:{Environment.NewLine}{printMessage?.ToString()}", ex);
                }
            }
        }