| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- package com.imt.intimamedia.commands.patient
- {
- import com.adobe.cairngorm.control.CairngormEvent;
- import com.imt.flex.cairngormExtended.command.SuperCommand;
- import com.imt.intimamedia.business.PatientDelegate;
- import com.imt.intimamedia.events.patient.SearchPatientEvent;
- import com.imt.intimamedia.model.ApplicationModelLocator;
- import com.imt.intimamedia.views.common.ImtToaster;
- import com.imt.intimamedia.vo.PatientVo;
- import com.imt.intimamedia.vo.ReturnObjectVo;
- import com.imt.intimamedia.helpers.AES;
-
- import mx.controls.Alert;
- import mx.resources.ResourceManager;
- import mx.rpc.events.FaultEvent;
- import mx.rpc.events.ResultEvent;
-
- /**
- * Commande de recherche d'un patient
- */
- public class SearchPatientCommand extends SuperCommand
- {
- /**
- * Excecution de la commande
- *
- * @param event Evénement de type CairngormEvent
- * @return void
- */
- override public function execute( event : CairngormEvent ) : void
- {
- super.execute( event );
-
- var delegate : PatientDelegate = new PatientDelegate( this );
-
- var searchPatientEvent : SearchPatientEvent = SearchPatientEvent( event );
- delegate.searchPatient( searchPatientEvent.criteria, ApplicationModelLocator.getInstance().connectedUser.person.organization, ApplicationModelLocator.getInstance().token );
- }
-
- /**
- * Résultat de la commande
- *
- * @param result Un objet
- * @return void
- */
- override public function result( result : Object ) : void
- {
- var resultEvent : ResultEvent = ResultEvent( result );
-
- var dispatcher : * = this.getDispatcher(this);
-
- var returnObjectVo : ReturnObjectVo = resultEvent.result as ReturnObjectVo;
- ApplicationModelLocator.getInstance().token = returnObjectVo.token;
-
- ApplicationModelLocator.getInstance().listOfPatients.source = returnObjectVo.value as Array;
- ApplicationModelLocator.getInstance().listOfDisplayedPatients.addAll(ApplicationModelLocator.getInstance().listOfPatients);
-
- for each (var patient : PatientVo in ApplicationModelLocator.getInstance().listOfPatients)
- {
- patient.firstName = AES.decrypt(patient.firstName, ApplicationModelLocator.getInstance().aesKey, AES.BIT_KEY_256);
- patient.lastName = AES.decrypt(patient.lastName, ApplicationModelLocator.getInstance().aesKey, AES.BIT_KEY_256);
- }
-
- ApplicationModelLocator.getInstance().listOfDisplayedPatients.removeAll();
- ApplicationModelLocator.getInstance().listOfDisplayedPatients.addAll(ApplicationModelLocator.getInstance().listOfPatients);
-
- if (dispatcher)
- dispatcher.setSearchPatientText();
-
- 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 );
- }
- else
- {
- var toastMessage : ImtToaster = new ImtToaster();
- toastMessage.titleMessage = ResourceManager.getInstance().getString('labels', 'error.title');
- toastMessage.message = ResourceManager.getInstance().getString('labels', 'error.searchPatient') + " (" + ResourceManager.getInstance().getString('errors', ( fault as FaultEvent ).fault.faultString) +")";
- toastMessage.level = ImtToaster.ERROR;
-
- ApplicationModelLocator.getInstance().toaster.toast( toastMessage );
- }
- }
- }
- }
|