public void ProcessingComplete(BookingContext booking, ProcessingResult result) { switch (result) { case ProcessingResult.Success: booking.TransitionToState(new BookedState()); break; case ProcessingResult.Fail: booking.View.ShowError("Error processing booking"); booking.TransitionToState(new NewState()); break; case ProcessingResult.Cancel: booking.TransitionToState(new ClosedState("Processing Canceled")); break; } }
// Användaren har matat in info och klickat submit public override void EnterDetails(BookingContext booking, string attendee, int ticketCount) { booking.Attendee = attendee; booking.TicketCount = ticketCount; booking.TransitionToState(new PendingState()); }
// Arrangören avblåser evenemanget (eller användaren väljer att göra det) public override void Cancel(BookingContext booking) { booking.TransitionToState(new ClosedState("Booking Canceled")); }
// Evenemanget har redan varit public override void DatePassed(BookingContext booking) { booking.TransitionToState(new ClosedState("Booking Expired")); }