コード例 #1
0
 public override void IsRepeat(PrintingContext context, bool repeat)
 {
     if (repeat)
     {
         Console.WriteLine($"Повторяю печать");
         context.State = new ChooseDocumentState();
     }
     else
     {
         Console.WriteLine($"Печать завершина");
         context.State = new GetCashState();
     }
 }
コード例 #2
0
        static void Main(string[] args)
        {
            var context  = new PrintingContext();
            var flashUSB = new FlashUSB();
            var document = new WordDocument();

            context.InputCash(100);           //Сумма в 100 денежных единиц принята
            context.ChooseDevice(flashUSB);   //Устройство принято
            context.ChooseDocument(document); //Документ принят
            context.PrintingDocument();       //Печатаю документ..
            context.IsRepeat(false);          //Печать завершина
            context.GetCash();                //Заберите сдачу
            context.Close();
            context.ChooseDocument(document); //Error: Exception("Печать была завершина")
        }
コード例 #3
0
 public override void ChooseDevice(PrintingContext context, IDevice device)
 {
     throw new Exception("Печать была завершина");
 }
コード例 #4
0
 public override void GetCash(PrintingContext context)
 {
     Console.WriteLine($"Заберите сдачу");
     context.State = new CloseState();
 }
コード例 #5
0
 public override void PrintingDocument(PrintingContext context)
 {
     Console.WriteLine($"Печатаю документ..");
     context.State = new IsRepeatState();
 }
コード例 #6
0
 public override void ChooseDocument(PrintingContext context, IDocument document)
 {
     Console.WriteLine($"Документ принят");
     context.State = new PrintingDocumentState();
 }
コード例 #7
0
 public virtual void ChooseDevice(PrintingContext context, IDevice device)
 {
 }
コード例 #8
0
 public override void PrintingDocument(PrintingContext context)
 {
     throw new Exception("Печать была завершина");
 }
コード例 #9
0
 public virtual void Close(PrintingContext context)
 {
     context.State = new CloseState();
 }
コード例 #10
0
 public virtual void PrintingDocument(PrintingContext context)
 {
 }
コード例 #11
0
 public virtual void IsRepeat(PrintingContext context, bool repeat)
 {
 }
コード例 #12
0
 public virtual void InputCash(PrintingContext context, int cash)
 {
 }
コード例 #13
0
 public virtual void GetCash(PrintingContext context)
 {
 }
コード例 #14
0
 public virtual void ChooseDocument(PrintingContext context, IDocument document)
 {
 }
コード例 #15
0
 public override void InputCash(PrintingContext context, int cash)
 {
     throw new Exception("Печать была завершина");
 }
コード例 #16
0
 public override void IsRepeat(PrintingContext context, bool repeat)
 {
     throw new Exception("Печать была завершина");
 }
コード例 #17
0
 public override void InputCash(PrintingContext context, int cash)
 {
     Console.WriteLine($"Сумма в {cash} денежных единиц принята");
     context.State = new ChooseDeviceState();
 }
コード例 #18
0
 public SortByYearStrategy(IDataService <IMotionPictureData> dataService, PrintingContext processorContext)
 {
     this.dataService      = dataService;
     this.processorContext = processorContext;
 }
コード例 #19
0
 public override void ChooseDevice(PrintingContext context, IDevice device)
 {
     Console.WriteLine($"Устройство принято");
     context.State = new ChooseDocumentState();
 }