Esempio n. 1
0
        public override void PrintDocument(PrinterContext context)
        {
            Console.WriteLine($"Printed the document {context.Document}");
            context.Money--;

            if (context.Money > 0)
            {
                context.State = new ChooseDocumentState();
            }
            else
            {
                context.State = new PayState();
            }
        }
Esempio n. 2
0
 public virtual void ChooseDocument(PrinterContext context)
 {
     throw new NotImplementedException();
 }
Esempio n. 3
0
 public virtual void Pay(PrinterContext context)
 {
     throw new NotImplementedException();
 }
Esempio n. 4
0
 public override void GetCash(PrinterContext context)
 {
     throw new Exception("Interaction is stopped");
 }
Esempio n. 5
0
 public override void PrintDocument(PrinterContext context)
 {
     throw new Exception("Interaction is stopped");
 }
Esempio n. 6
0
 public override void ChooseDevice(PrinterContext context)
 {
     throw new Exception("Interaction is stopped");
 }
Esempio n. 7
0
 public override void GetCash(PrinterContext context)
 {
     context.Money = 0;
     context.State = new StoppedState();
 }
Esempio n. 8
0
 public override void Stop(PrinterContext context)
 {
     context.State = new GetCashState();
 }
Esempio n. 9
0
 public override void ChooseDocument(PrinterContext context)
 {
     Console.WriteLine($"Chose the document {context.Document}");
     context.State = new PrintDocumentState();
 }
Esempio n. 10
0
 public override void ChooseDevice(PrinterContext context)
 {
     Console.WriteLine($"Chose the device type {context.DeviceType}");
     context.State = new ChooseDocumentState();
 }
Esempio n. 11
0
 public override void Pay(PrinterContext context)
 {
     Console.WriteLine($"Payed the money {context.State}");
     context.State = new ChooseDeviceState();
 }
Esempio n. 12
0
 public override void Start(PrinterContext context)
 {
     context.State = new PayState();
 }
Esempio n. 13
0
 public virtual void Stop(PrinterContext context)
 {
     context.State = new StoppedState();
 }