package com.flexicious.example.model.organizations
{
import com.flexicious.example.model.BaseEntity;
import com.flexicious.example.model.common.Address;
import com.flexicious.example.model.persons.CommercialContact;
import com.flexicious.example.model.transactions.Deal;
import mock.FlexiciousMockGenerator;
import mx.collections.ArrayCollection;
[Bindable(public class Organization extends BaseEntity
{
public function get orgIndex():Number {
return FlexiciousMockGenerator.simpleList.getItemIndex(this);
}
public var headquarterAddress:Address;
public var mailingAddress:Address;
public var legalName:String;
public var url:String;
public var billingContact:CommercialContact;
public var salesContact:CommercialContact;
public var annualRevenue:Number;
public var numEmployees:Number;
public var earningsPerShare:Number;
public var lastStockPrice:Number;
public var chartUrl:String;
public var deals:ArrayCollection=new ArrayCollection();
public var isActive:Boolean=true;
public function Organization()
{
}
public var headQuartersSameAsMailing:Boolean;
public function get relationshipAmount():Number{
var total:Number=0;
for each(var deal:Deal in deals){
total+= deal.dealAmount;
}
return total;
}
public override function createNew():BaseEntity{
return new Organization();
}
public function get name():String{
return this.legalName;
}
public function get children():*{
return deals;
}
}
}