package BO { import flash.utils.ByteArray; public class Contact { public var id:int; public var pseudo:String; public var dateNaissance:Date; public var mail:String; public var avatar:ByteArray; public function Contact() { ID = -1; Pseudo = ""; Mail = ""; DateNaissance = null; Avatar = null; } [Bindable] public function get ID():int { return id; } public function set ID(pValue:int):void { id = pValue; } [Bindable] public function get Pseudo():String { return pseudo; } public function set Pseudo(pValue:String):void { pseudo = pValue; } [Bindable] public function get Mail():String { return mail; } public function set Mail(pValue:String):void { mail = pValue; } [Bindable] public function get Avatar():ByteArray { return avatar; } public function set Avatar(pValue:ByteArray):void { avatar = pValue; } public function get DateNaissance():Date { return dateNaissance; } public function set DateNaissance(pDate:Date):void { dateNaissance = pDate; dispatchEvent(new Event('agePropertyChanged')); } [Bindable(event='agePropertyChanged')] public function get Age():uint { var dtNow:Date = new Date(); var currentMonth:Number = dtNow.getMonth(); var currentDay:Number = dtNow.getDay(); var currentYear:Number = dtNow.getFullYear(); var bdMonth:Number = DateNaissance.getMonth(); var bdDay:Number = DateNaissance.getDay(); var bdYear:Number = DateNaissance.getFullYear(); var years:uint = dtNow.getFullYear() - DateNaissance.getFullYear(); if (currentMonth < bdMonth || (currentMonth == bdMonth && currentDay < bdDay)) { years--; } return years; } } }