Example #1
0
        /// <summary>
        /// Get event from a printer, it could be ink issue or page issue
        /// If the event is critical, change printer
        /// </summary>
        /// <param name="sender">The object sender</param>
        /// <param name="e">The argument sent</param>
        public void Event(object sender, EventArgs e)
        {
            if (!(e is PrinterEventArgs))
            {
                return;
            }

            PrinterEventArgs args = (PrinterEventArgs)e;

            MessageBoxPrint(args);

            if (args.Critical)
            {
                if (args.ErrorMessage == "Ink quantity less than 1%")
                {
                    AddInk(CurrentPrinter);
                }

                else
                {
                    AddPages(CurrentPrinter);
                }

                if (CurrentPrinter == (PrinterUserControl)sender)
                {
                    queue.Enqueue(CurrentPrinter);
                    CurrentPrinter = queue.Dequeue();
                }
            }
        }
Example #2
0
        /// <summary>
        /// Print message box according to the argument sent
        /// </summary>
        /// <param name="e">Argument sent</param>
        public void MessageBoxPrint(PrinterEventArgs e)
        {
            //  about the image
            MessageBoxImage i;

            if (e.Critical)
            {
                i = MessageBoxImage.Error;
            }
            else
            {
                i = MessageBoxImage.Exclamation;
            }

            //  about the message
            string msg = e.Date + "\n" + e.Name + " alerts:\n " + e.ErrorMessage;

            MessageBox.Show(
                msg,
                "WARNING!!",
                MessageBoxButton.OK,
                i);
        }