LocalizationCommand.as 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package com.imt.intimamedia.commands.localization
  2. {
  3. import com.adobe.cairngorm.control.CairngormEvent;
  4. import com.imt.flex.cairngormExtended.command.SuperCommand;
  5. import com.imt.intimamedia.business.LocalizationDelegate;
  6. import com.imt.intimamedia.model.ApplicationModelLocator;
  7. import com.imt.intimamedia.views.common.ImtToaster;
  8. import com.imt.intimamedia.vo.LocalizationVo;
  9. import mx.resources.ResourceManager;
  10. import mx.rpc.events.FaultEvent;
  11. import mx.rpc.events.ResultEvent;
  12. /**
  13. * Commande de localisation
  14. */
  15. public class LocalizationCommand extends SuperCommand
  16. {
  17. [Bindable]
  18. private var _model : ApplicationModelLocator = ApplicationModelLocator.getInstance();
  19. /**
  20. * Excecution de la commande
  21. *
  22. * @param event Evénement de type CairngormEvent
  23. * @return void
  24. */
  25. override public function execute( event : CairngormEvent ) : void
  26. {
  27. super.execute( event );
  28. var delegate : LocalizationDelegate = new LocalizationDelegate( this );
  29. delegate.locateUser();
  30. }
  31. /**
  32. * Résultat de la commande
  33. *
  34. * @param result Un objet
  35. * @return void
  36. */
  37. override public function result( result : Object ) : void
  38. {
  39. super.result( result );
  40. var resultEvent : ResultEvent = ResultEvent( result );
  41. _model.localizationForConnectedUser = resultEvent.result as LocalizationVo;
  42. _model.sharedObject.data.country = _model.localizationForConnectedUser.countryCode;
  43. _model.sharedObject.data.continent = _model.localizationForConnectedUser.continentCode;
  44. _model.sharedObject.data.ip = _model.localizationForConnectedUser.ip;
  45. _model.sharedObject.data.date = _model.localizationForConnectedUser.date;
  46. _model.sharedObject.data.countryName = _model.localizationForConnectedUser.countryName;
  47. _model.sharedObject.data.region = _model.localizationForConnectedUser.region;
  48. _model.sharedObject.data.city = _model.localizationForConnectedUser.city;
  49. _model.sharedObject.flush();
  50. }
  51. /**
  52. * Résultat de la commande
  53. *
  54. * @param result Un objet
  55. * @return void
  56. */
  57. override public function fault( fault : Object ) : void
  58. {
  59. super.fault( fault );
  60. if (( fault as FaultEvent ).fault.faultString == ApplicationModelLocator.getInstance().ERROR_SESSION )
  61. {
  62. ApplicationModelLocator.displaySessionExpired( fault as FaultEvent );
  63. }
  64. else
  65. {
  66. var toastMessage : ImtToaster = new ImtToaster();
  67. toastMessage.titleMessage = ResourceManager.getInstance().getString('labels', 'error.title');
  68. toastMessage.message = ResourceManager.getInstance().getString('labels', 'error.localization') + " (" + ResourceManager.getInstance().getString('errors', ( fault as FaultEvent ).fault.faultString) +")";
  69. toastMessage.level = ImtToaster.ERROR;
  70. _model.toaster.toast( toastMessage );
  71. }
  72. }
  73. }
  74. }