package com.adobe.cairngorm.samples.dashboard.model { public class StockPurchase { [Bindable] public var isValid : Boolean; [Bindable] public var statusMessage : String; private var _isPending : Boolean; private var isQuantityValid : Boolean; private var stockQuote : StockQuote; public function StockPurchase( stockQuote : StockQuote ) { this.stockQuote = stockQuote; } [Bindable] public function get isPending() : Boolean { return _isPending; } public function set isPending( value : Boolean ) : void { _isPending = value; validate(); } public function validateQuantity( isValid : Boolean ) : void { isQuantityValid = isValid validate(); } private function validate() : void { var hasStockQuote : Boolean = !isNaN( stockQuote.lastStockQuote ); isValid = ( isQuantityValid && !isPending && hasStockQuote ) ? true : false; } } }