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(); } }
public virtual void ChooseDocument(PrinterContext context) { throw new NotImplementedException(); }
public virtual void Pay(PrinterContext context) { throw new NotImplementedException(); }
public override void GetCash(PrinterContext context) { throw new Exception("Interaction is stopped"); }
public override void PrintDocument(PrinterContext context) { throw new Exception("Interaction is stopped"); }
public override void ChooseDevice(PrinterContext context) { throw new Exception("Interaction is stopped"); }
public override void GetCash(PrinterContext context) { context.Money = 0; context.State = new StoppedState(); }
public override void Stop(PrinterContext context) { context.State = new GetCashState(); }
public override void ChooseDocument(PrinterContext context) { Console.WriteLine($"Chose the document {context.Document}"); context.State = new PrintDocumentState(); }
public override void ChooseDevice(PrinterContext context) { Console.WriteLine($"Chose the device type {context.DeviceType}"); context.State = new ChooseDocumentState(); }
public override void Pay(PrinterContext context) { Console.WriteLine($"Payed the money {context.State}"); context.State = new ChooseDeviceState(); }
public override void Start(PrinterContext context) { context.State = new PayState(); }
public virtual void Stop(PrinterContext context) { context.State = new StoppedState(); }