public ActionResult CustomisedInvitations(InvitationViewModel viewModel, Order order, Member member)
        {
            if (this.ModelState.IsValid)
            {
                AddInvitationDetailsCommand command = new AddInvitationDetailsCommand(order, viewModel.PartyDate.Value, viewModel.ChildsName, viewModel.Age, viewModel.PartyTime, viewModel.PartyAddress, viewModel.RSVPDetails, member);
                this._commandDispatcher.Dispatch(command);

                return this.RedirectToRoute(Routes.Checkout.PartyHireInformation);
            }

            return this.CustomisedInvitations(order, member);
        }
        public ActionResult CustomisedInvitations(Order order, Member member)
        {
            if (order.Items.Any(o => ProductHelper.IsCustomisableInvitation(o.Product)))
            {
                Party party = this._queryDispatcher.Dispatch<Party, GetPartyByOrderGuidQuery>(new GetPartyByOrderGuidQuery(order.Guid));

                InvitationViewModel viewModel = new InvitationViewModel(order, party);

                return this.View("CustomisedInvitations", viewModel);
            }

            return this.RedirectToRoute(Routes.Checkout.PartyHireInformation);
        }