RegisterCommand.as 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. package com.imt.intimamedia.commands.user
  2. {
  3. import com.adobe.cairngorm.control.CairngormEvent;
  4. import com.imt.flex.cairngormExtended.command.SuperCommand;
  5. import com.imt.intimamedia.business.UserDelegate;
  6. import com.imt.intimamedia.events.user.RegisterEvent;
  7. import com.imt.intimamedia.model.ApplicationModelLocator;
  8. import com.imt.intimamedia.views.common.ImtToaster;
  9. import com.imt.intimamedia.views.general.register.RegisterView;
  10. import com.imt.intimamedia.vo.ReturnObjectVo;
  11. import com.imt.intimamedia.vo.UserVo;
  12. import mx.controls.Alert;
  13. import mx.resources.ResourceManager;
  14. import mx.rpc.events.FaultEvent;
  15. import mx.rpc.events.ResultEvent;
  16. /**
  17. * Commande d'enregistrement d'un utilisateur
  18. */
  19. public class RegisterCommand extends SuperCommand
  20. {
  21. private var _dispatcher : RegisterView;
  22. /**
  23. * Excecution de la commande
  24. *
  25. * @param event Evénement de type CairngormEvent
  26. * @return void
  27. */
  28. override public function execute( event : CairngormEvent ) : void
  29. {
  30. super.execute( event );
  31. // Alert.show("Execute RegisterCommand");
  32. var delegate : UserDelegate = new UserDelegate( this );
  33. var registerEvent : RegisterEvent = RegisterEvent( event );
  34. delegate.register( registerEvent.user, registerEvent.lang );
  35. _dispatcher = this.getDispatcher(this);
  36. }
  37. /**
  38. * Résultat de la commande
  39. *
  40. * @param result Un objet
  41. * @return void
  42. */
  43. override public function result( result : Object ) : void
  44. {
  45. //super.result( result );
  46. // Alert.show("result RegisterCommand");
  47. var resultEvent : ResultEvent = ResultEvent( result );
  48. var returnObjectVo : ReturnObjectVo = resultEvent.result as ReturnObjectVo;
  49. var uid : String = returnObjectVo.value;
  50. _dispatcher.returnToHome(uid);
  51. var toastMessage : ImtToaster = new ImtToaster();
  52. toastMessage.titleMessage = ResourceManager.getInstance().getString('labels', 'register.title');
  53. toastMessage.message = ResourceManager.getInstance().getString('labels', 'register.message');
  54. toastMessage.timeToLive = 10;
  55. toastMessage.level = ImtToaster.VALIDATION;
  56. ApplicationModelLocator.getInstance().token = returnObjectVo.token;
  57. ApplicationModelLocator.getInstance().toaster.toast( toastMessage );
  58. }
  59. /**
  60. * Résultat de la commande
  61. *
  62. * @param result Un objet
  63. * @return void
  64. */
  65. override public function fault( fault : Object ) : void
  66. {
  67. _dispatcher.registerButton.enabled = true;
  68. super.fault( fault );
  69. var toastMessage : ImtToaster = new ImtToaster();
  70. toastMessage.titleMessage = ResourceManager.getInstance().getString('labels', 'error.title');
  71. toastMessage.level = ImtToaster.ERROR;
  72. if (( fault as FaultEvent ).fault.faultString == ApplicationModelLocator.getInstance().USER_ALREADY_EXISTS )
  73. {
  74. toastMessage.message = ResourceManager.getInstance().getString('labels', 'error.userAlreadyExists');
  75. }
  76. else
  77. {
  78. toastMessage.message = ResourceManager.getInstance().getString('labels', 'error.register') + " (" + ResourceManager.getInstance().getString('errors', ( fault as FaultEvent ).fault.faultString) +")";
  79. }
  80. Alert.show("fault RegisterCommand" + ( fault as FaultEvent ).fault.faultString);
  81. ApplicationModelLocator.getInstance().toaster.toast( toastMessage );
  82. }
  83. }
  84. }