CompleteOrder の呼び出し
これまで、CompleteOrder メソッドの変更方法について学習してきましたが、最後にもう 1 つ変更が必要なところがあります。通常 CompleteOrder メソッドは、TicketConfirm ページの OnPage メソッドから呼び出されます。
しかしここでは、OnPage メソッドから呼び出されません。その理由を理解するために、次ページではページ・リクエストの処理方法について学習します。
—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
}