package com.imt.intimamedia.commands.report { import com.adobe.cairngorm.control.CairngormEvent; import com.imt.flex.cairngormExtended.command.SuperCommand; import com.imt.intimamedia.business.ReportDelegate; import com.imt.intimamedia.events.report.GetDataEvent; import com.imt.intimamedia.model.ApplicationModelLocator; import com.imt.intimamedia.views.common.ImtToaster; import com.imt.intimamedia.views.physician.report.ReportView; import com.imt.intimamedia.vo.ReturnObjectVo; import mx.collections.ArrayCollection; import mx.controls.Alert; import mx.resources.ResourceManager; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; /** * Commande de recuperation des donnees rapport */ public class GetDataCommand extends SuperCommand { public var _dispatcher : ReportView; /** * Execution de la commande * * @param event Evénement de type CairngormEvent * @return void */ override public function execute( event : CairngormEvent ) : void { super.execute( event ); var delegate : ReportDelegate = new ReportDelegate( this ); var getDataEvent : GetDataEvent = GetDataEvent( event ); delegate.getData( getDataEvent.appointment, ApplicationModelLocator.getInstance().token ); _dispatcher = this.getDispatcher(this); } /** * Résultat de la commande * * @param result Un objet * @return void */ override public function result( result : Object ) : void { var resultEvent : ResultEvent = ResultEvent( result ); var returnObjectVo : ReturnObjectVo = resultEvent.result as ReturnObjectVo; ApplicationModelLocator.getInstance().token = returnObjectVo.token; ApplicationModelLocator.getInstance().listReportData.source = returnObjectVo.value as Array; super.result( result ); } /** * Résultat de la commande * * @param result Un objet * @return void */ override public function fault( fault : Object ) : void { super.fault( fault ); if (( fault as FaultEvent ).fault.faultString == ApplicationModelLocator.getInstance().ERROR_SESSION ) { ApplicationModelLocator.displaySessionExpired( fault as FaultEvent ); } } } }