Skip to main content

This is documentation for Caché & Ensemble.

For information on converting to InterSystems IRIS, see the InterSystems IRIS Adoption Guide and the InterSystems IRIS In-Place Conversion Guide, both available on the WRC Distributions page (login required).

Previous sectionNext section

Calling CompleteOrder

Now that we have modified the CompleteOrder method, we have one more change to make. Currently, it is called from within the OnPage method of the TicketConfirm page.

Unfortunately, this will not work. To understand why, let's spend a moment examining how a page request gets processed.

—TicketConfirm.OnPage—
TicketConfirm.OnPage
ClassMethod OnPage() As %Status
{
    Write "<HTML>",$C(13,10)
    Write "<HEAD>",$C(13,10)
    Write "</HEAD>",$C(13,10)
    Write "<BODY>",$C(13,10)
    If (%session.IsDefined("OrderID")) {
        Do ..CompleteOrder(%session.Data("OrderID"))
        Write "Thank you for using Caché Cinema!<br>",$C(13,10)
        If ($G(%request.Data("OrderEmail",1)) '=""){
            Do ..SendEmail( 
                    %request.Data("OrderEmail",1), 
                    "Your tickets have been ordered"
                    )
        } 
    }
    Else {
        Write "Your order expired before it was completed."
    } 
    Write "</BODY>",$C(13,10)
    Write "</HTML>",$C(13,10),!
    Quit $$$OK
}
Copy code to clipboard