public void PutMoney(CopyMaker context, uint cash)
 {
     context.PutMoney(cash);
     context.State = new PendingDeviceChoiceState();
 }
 public void ChooseDocument(CopyMaker context, int documentId)
 {
     throw new Exception("You didn't give me any money");
 }
 public void ChooseDevice(CopyMaker context, DeviceType device)
 {
     throw new Exception("You didn't give me any money");
 }
 public void GetChange(CopyMaker context)
 {
     throw new Exception("You didn't give me any money");
 }
 public void PrintDocument(CopyMaker context)
 {
     throw new Exception("You didn't give me any money");
 }
 public void ChooseDocument(CopyMaker context, int documentId)
 {
     throw new Exception("I cannot work without money");
 }
 public void ChooseDevice(CopyMaker context, DeviceType device)
 {
     throw new Exception("I cannot work without money");
 }
 public void GetChange(CopyMaker context)
 {
     throw new Exception("I already gave you the money");
 }
 public void PrintDocument(CopyMaker context)
 {
     throw new Exception("I cannot work without money");
 }
 public void ChooseDevice(CopyMaker context, DeviceType device)
 {
     context.ChooseDevice(device);
     context.State = new PendingDocumentChoiceState();
 }
 public void PutMoney(CopyMaker context, uint cash)
 {
     context.PutMoney(cash);
     context.State = new PendingPrintingState();
 }
 public void ChooseDocument(CopyMaker context, int documentId)
 {
     context.ChooseDocument(documentId);
     context.State = new PendingPrintingState();
 }
 public void PrintDocument(CopyMaker context)
 {
     context.PrintDocument();
     context.State = new PendingDocumentChoiceState();
 }
 public void GetChange(CopyMaker context)
 {
     context.State = new FinalState();
 }
 public void PrintDocument(CopyMaker context)
 {
     throw new Exception("Choose a document please");
 }
 public void ChooseDocument(CopyMaker context, int documentId)
 {
     throw new Exception("Choose a device type please");
 }