CompleteOrder メソッド
CompleteOrder メソッドには、2 つのタスクがあります。それは、完了として TicketOrder オブジェクトをマークすること、および映画の TicketsSold プロパティを更新することです。(どの映画が一番人気があるかを決定するために、TicketsSold 値を使用します。)
TicketsSold を更新するには、各 TicketItem オブジェクトを検索し、関係する Film オブジェクトを取得して、注文項目から大人用チケットと子供用チケットの枚数を TicketsSold に加算します。
—Utils.CompleteOrder—
Utils.CompleteOrder
ClassMethod CompleteOrder()
{
If $data(%session.Data("Order")) {
// Open the current order object
Set ord = ##class(Cinema.TicketOrder).%OpenId(%session.Data("Order"))
// Update the number of tickets sold for each film in the order
For i = 1:1:ord.Items.Count() {
Set itm = ord.Items.GetAt(i)
Set flm = itm.Show.Film
Set flm.TicketsSold = flm.TicketsSold +
itm.AdultTickets + itm.ChildTickets
// ...
}
}
}