From 8c137f229c36a777ead5cacb3350cb8692646292 Mon Sep 17 00:00:00 2001 From: "mo.khan" Date: Sat, 5 Jan 2008 07:16:52 +0000 Subject: git-svn-id: http://mokhan.googlecode.com/svn/trunk@9 a0a4a051-f042-0410-9e78-9fae330bdb64 --- .../app/DesignPatterns.State/PinEnteredState.cs | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 DesignPatterns/src/app/DesignPatterns.State/PinEnteredState.cs (limited to 'DesignPatterns/src/app/DesignPatterns.State/PinEnteredState.cs') diff --git a/DesignPatterns/src/app/DesignPatterns.State/PinEnteredState.cs b/DesignPatterns/src/app/DesignPatterns.State/PinEnteredState.cs new file mode 100644 index 0000000..809186a --- /dev/null +++ b/DesignPatterns/src/app/DesignPatterns.State/PinEnteredState.cs @@ -0,0 +1,31 @@ +using System; + +namespace DesignPatterns.State { + public class PinEnteredState : IState { + public PinEnteredState( IPosTerminal terminal ) { + _terminal = terminal; + } + + public void SwipeCard( string cardNumber ) { + Console.Out.WriteLine( "You've already swiped a card." ); + } + + public void EnterAmount( double amount ) { + Console.Out.WriteLine( "You've already entered an amount." ); + } + + public void EnterPin( string pin ) { + Console.Out.WriteLine( "You've already entered a pin." ); + } + + public void ProcessTransaction( ) { + _terminal.CurrentState = new ProcessingTransactionState( _terminal ); + } + + public void PrintReceipt( ) { + Console.Out.WriteLine( "The transaction needs to be authorized first" ); + } + + private IPosTerminal _terminal; + } +} \ No newline at end of file -- cgit v1.2.3