package com.flexicious.example.model.billing
{
import com.flexicious.example.model.BaseEntity;
import com.flexicious.example.model.common.ReferenceData;
import com.flexicious.example.model.transactions.Deal;
import mx.collections.ArrayCollection;
[Bindable(public class Invoice extends BaseEntity
{
public var deal:Deal;
public var invoiceDate:Date;
public var dueDate:Date;
public var invoiceStatus:ReferenceData;
public var lineItems:ArrayCollection=new ArrayCollection();
public var hasPdf:Boolean=true;
public function get invoiceNumber():Number{
return id;
}
public function get invoiceAmount():Number{
var total:Number=0;
for each(var lineItem:LineItem in lineItems){
total+= lineItem.lineItemAmount;
}
return total;
}
public function Invoice()
{
}
public override function createNew():BaseEntity{
return new Invoice();
}
public function get children():*{
return lineItems;
}
public function get parent():*{
return deal;
}
public function set parent(val:*):void{
deal=val as Deal;
}
}
}