Пример #1
0
 public Printer(IPaperLevelIndicator paperLevelIndicator,
                IBlackLevelIndicator blackLevelIndicator,
                IColorLevelIndicator colorLevelIndicator,
                IPrinterNotifier notifier)
 {
     _pli = paperLevelIndicator;
     _bli = blackLevelIndicator;
     _cli = colorLevelIndicator;
     _n   = notifier;
 }
        public PrintBlackCommand(byte[] content,
                                 IPaperLevelIndicator paperLevelIndicator,
                                 IBlackLevelIndicator blackLevelIndicator,
                                 IPrinterNotifier notifier = null)
        {
            if (content is null || content.Length == 0)
            {
                throw new NoContentToPrintException();
            }

            _handler = new PrintCommandHandler(this, notifier, paperLevelIndicator, blackLevelIndicator);
            Content  = content;
            Id       = Guid.NewGuid();
        }
        private void InjectSufficientLevelIndicators(ISufficientLevelIndicator[] indicators)
        {
            foreach (var i in indicators)
            {
                switch (i)
                {
                case IPaperLevelIndicator pli:
                    _pli = pli;
                    break;

                case IBlackLevelIndicator bli:
                    _bli = bli;
                    break;

                case IColorLevelIndicator cli:
                    _cli = cli;
                    break;
                }
            }
        }