Esempio n. 1
0
        public int GiveChange(CopyContext copyContext)
        {
            int i = Balance;

            Balance           = 0;
            copyContext.state = new PayState();
            return(i);
        }
Esempio n. 2
0
 public override void Pay(CopyContext copyContext, int amount)
 {
     if (amount <= 0)
     {
         return;
     }
     Console.WriteLine($"Баланс: {amount}");
     copyContext.state = new ChooseDeviceState(amount);
 }
Esempio n. 3
0
 public override void ChooseDevice(CopyContext copyContext, string device)
 {
     if (device.Equals(DEVICE_USB))
     {
         copyContext.state = new ChooseDocFromUSBState(Balance);
         return;
     }
     if (device.Equals(DEVICE_WIFI))
     {
         copyContext.state = new ChooseDocFromWiFiState(Balance);
         return;
     }
     throw new Exception("Invalid device");
 }
Esempio n. 4
0
 public override void PrintDoc(CopyContext copyContext)
 {
     Console.WriteLine($"Печатаем с {DeviceType}, документ с именем {DocumentName}");
     Balance -= copyContext.price;
     if (Balance < copyContext.price)
     {
         Console.WriteLine($"Осталось денег: {Balance}, внесите ещё");
         copyContext.state = new PayState(Balance);
     }
     else
     {
         Console.WriteLine($"Осталось денег: {Balance}");
         ReturnOneStateBack(copyContext);
     }
 }
Esempio n. 5
0
        static void Main(string[] args)
        {
            CopyContext copyContext = new CopyContext();

            try
            {
                copyContext.Pay(10);
                copyContext.ChooseDevice(ChooseDeviceState.DEVICE_WIFI);
                copyContext.ChooseDoc("Hello.doc");
                copyContext.PrintDoc();
            } catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            Console.ReadLine();
        }
Esempio n. 6
0
 public override void ChooseDevice(CopyContext copyContext, string device)
 {
     throw new Exception("Pay first!");
 }
Esempio n. 7
0
 protected override void ReturnOneStateBack(CopyContext copyContext)
 {
     copyContext.state = new ChooseDocFromWiFiState(Balance);
 }
Esempio n. 8
0
 public override void ChooseDoc(CopyContext copyContext, string name)
 {
     throw new Exception("Choose device first!");
 }
Esempio n. 9
0
 public override void PrintDoc(CopyContext copyContext)
 {
     throw new Exception("Pay first!");
 }
Esempio n. 10
0
 public abstract void ChooseDoc(CopyContext copyContext, string name);
Esempio n. 11
0
 public abstract void PrintDoc(CopyContext copyContext);
Esempio n. 12
0
 public abstract void Pay(CopyContext copyContext, int amount);
Esempio n. 13
0
 public abstract void ChooseDevice(CopyContext copyContext, string device);
Esempio n. 14
0
 public override void PrintDoc(CopyContext copyContext)
 {
     throw new Exception("Choose device first!");
 }
Esempio n. 15
0
 protected abstract void ReturnOneStateBack(CopyContext copyContext);
Esempio n. 16
0
 public override void Pay(CopyContext copyContext, int amount)
 {
     throw new Exception("You already paid!");
 }
Esempio n. 17
0
 public override void ChooseDoc(CopyContext copyContext, string name)
 {
     copyContext.state = new PrintDocFromWiFiState(Balance, name);
 }
Esempio n. 18
0
 public override void ChooseDoc(CopyContext copyContext, string name)
 {
     throw new Exception("You already chose!");
 }