mspnp/cqrs-journey-code — pull request #409 by fsimonazzi (2012-05-11 21:30:37+00:00)
Title: 283 Skip payment for orders with 0 total amount

#283

Changes:
- Renamed the ConfirmedOrderPayment command to ConfirmOrder.
- Added new OrderConfirmed event to replace the old OrderPaymentConfirmed.
-- the Order AR still handles OrderPaymentConfirmed but does not emit it
- Updated the OrderTotalsCalculated event to include an IsFreeOfCharge property
-- Updated the PricedOrder dto accordingly. *This is the only change to the DB schema*.
- Updated the Registration process.
-- Added handling of OrderConfirmed and OrderTotalsCalculated
-- Now the handling of the PaymentCompleted event only triggers the confirmation of the order. Handling the OrderConfirmed event is what commits the seat reservation.
-- Added explicit "Awaiting*" states. Which awaiting confirmation state is correct is determined by the handling of OrderTotalsCalculated
-- The process has now more steps. Reliability is now even more critical
-- Updated the test fixture for this class. Added new namespaces for each of the scenarios, so the "when_"s could be the same on each "given_".
- Updated the UI for confirming the order
-- If the order is free of charge (as defined in the PricedOrder read model) then no billing information is requested and proceeding results in the order being confirmed.

Left the state for orders in the conference management site as "Paid" even for free orders after discussing with Grigori.
The criteria for determining whether an order is free is that the Total == 0m.