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.GetStockQuoteEvent;
import com.adobe.cairngorm.samples.dashboard.model.ModelLocator;
import com.adobe.cairngorm.samples.dashboard.model.StockQuote;
public class GetStockQuoteCommand implements Command, Responder
{
private var model : ModelLocator = ModelLocator.getInstance();
private var stockQuote : StockQuote = model.stockQuote;
public function execute( event : CairngormEvent ) : void
{
stockQuote.isPending = true;
var stockQuoteEvent : GetStockQuoteEvent = GetStockQuoteEvent( event );
var symbol : String = stockQuoteEvent.symbol;
var delegate : StockMarketDelegate = new StockMarketDelegate( this );
delegate.getQuoteForSymbol( symbol );
}
public function onResult( event : * = null ) : void
{
stockQuote.lastStockQuote = event as Number;
stockQuote.isPending = false;
stockQuote.statusMessage = "";
}
public function onFault( event : * = null ) : void
{
stockQuote.lastStockQuote = NaN;
stockQuote.statusMessage = "Quote retrieval error.";
stockQuote.isPending = false;
}
}
}