package com.adobe.cairngorm.samples.dashboard.command { import com.adobe.cairngorm.business.Responder; import com.adobe.cairngorm.commands.Command; import com.adobe.cairngorm.control.CairngormEvent; import com.adobe.cairngorm.samples.dashboard.business.StockMarketDelegate; import com.adobe.cairngorm.samples.dashboard.events.PurchaseStockEvent; import com.adobe.cairngorm.samples.dashboard.model.ModelLocator; import com.adobe.cairngorm.samples.dashboard.model.StockPurchase; public class PurchaseStockCommand implements Command, Responder { private var model : ModelLocator = ModelLocator.getInstance(); private var stockPurchase : StockPurchase = model.stockPurchase; public function execute( event : CairngormEvent ) : void { stockPurchase.statusMessage = ""; stockPurchase.isPending = true; var purchaseStockEvent : PurchaseStockEvent = PurchaseStockEvent( event ); var symbol : String = purchaseStockEvent.symbol; var quantity : int = purchaseStockEvent.quantity; var delegate : StockMarketDelegate = new StockMarketDelegate( this ); delegate.purchaseStockForSymbol( symbol, quantity ); } public function onResult( event : * = null ) : void { stockPurchase.statusMessage = "Purchase succesfull."; stockPurchase.isPending = false; } public function onFault( event : * = null ) : void { stockPurchase.statusMessage = "Purchase error."; stockPurchase.isPending = false; } } }