Esempio n. 1
0
 public override void PrintMore(CopyMachineContext context, bool printMore)
 {
     if (printMore)
     {
         context.State = new SelectFileState();
     }
     else
     {
         context.State = new GetChangeState();
     }
 }
Esempio n. 2
0
 public override void Print(CopyMachineContext context)
 {
     if (context.Money - context.Cost < 0)
     {
         Console.WriteLine("Not enough money");
         context.State = new GetChangeState();;
     }
     else
     {
         Console.WriteLine($"Printing {context.FileName} from {context.Device}...");
         context.Money -= context.Cost;
         context.State  = new PrintMoreState();
     }
 }
Esempio n. 3
0
        static void Main(string[] args)
        {
            var copyMachine = new CopyMachineContext();

            copyMachine.GetChange(); // Wrong operation

            copyMachine.PutMoney(100);
            copyMachine.SelectDevice("USB");
            copyMachine.SelectFile("Cats.jpg");
            copyMachine.Print(); // Printing Cats.jpg from USB...
            copyMachine.PrintMore(true);
            copyMachine.SelectFile("AnotherCats.jpg");
            copyMachine.Print();     // Printing AnotherCats.jpg from USB...
            copyMachine.PrintMore(false);
            copyMachine.GetChange(); // Your change is 80
        }
Esempio n. 4
0
 public virtual void SelectFile(CopyMachineContext context, string fileName)
 {
     Console.WriteLine("Wrong Operation");
 }
Esempio n. 5
0
 public virtual void SelectDevice(CopyMachineContext context, string device)
 {
     Console.WriteLine("Wrong Operation");
 }
Esempio n. 6
0
 public virtual void PutMoney(CopyMachineContext context, int money)
 {
     Console.WriteLine("Wrong Operation");
 }
Esempio n. 7
0
 public virtual void PrintMore(CopyMachineContext context, bool printMore)
 {
     Console.WriteLine("Wrong Operation");
 }
Esempio n. 8
0
 public virtual void Print(CopyMachineContext context)
 {
     Console.WriteLine("Wrong Operation");
 }
Esempio n. 9
0
 public override void GetChange(CopyMachineContext context)
 {
     Console.WriteLine($"Your change is {context.Money}");
     context.Money = 0;
     context.State = new InitState();
 }
Esempio n. 10
0
 public override void SelectFile(CopyMachineContext context, string fileName)
 {
     context.FileName = fileName;
     context.State    = new PrintState();
 }
Esempio n. 11
0
 public override void SelectDevice(CopyMachineContext context, string device)
 {
     context.Device = device;
     context.State  = new SelectFileState();
 }
Esempio n. 12
0
 public override void PutMoney(CopyMachineContext context, int money)
 {
     context.Money = money;
     context.State = new SelectDeviceState();
 }