Exemplo n.º 1
0
    public void Handle (TMessageInternal message)
    {
      if (message.NotNull ()) {
        if (message.IsModule (TResource.TModule.Factory)) {
          // from child only
          if (message.Node.IsRelationChild) {
            if (message.IsAction (TInternalMessageAction.DatabaseRequest)) {
              var authentication = message.Support.Argument.Types.Authentication;

              // to sibiling
              var messageInternal = new TFactoryMessageInternal (TInternalMessageAction.DatabaseResponse, authentication, TypeInfo);
              messageInternal.Node.SelectRelationParent (TChild.Front);
              messageInternal.Support.Argument.Types.ConnectionData.CopyFrom (Model.Request (authentication));

              DelegateCommand.PublishInternalMessage.Execute (messageInternal);
            }

            if (message.IsAction (TInternalMessageAction.Change)) {
              // to module
              var messageModule = new TFactoryMessage (TMessageAction.Changed, TypeInfo);
              messageModule.Support.Argument.Types.ConnectionData.CopyFrom (message.Support.Argument.Types.ConnectionData);

              DelegateCommand.PublishMessage.Execute (messageModule);
            }
          }
        }
      }
    }
Exemplo n.º 2
0
    public void OnAuthenticationChecked (object tag)
    {
      if (tag is string authentication) {
        TAuthentication auth = (TAuthentication) Enum.Parse (typeof (TAuthentication), authentication);

        // to module
        var messageModule = new TFactoryMessage (TMessageAction.Authentication, TypeInfo);
        messageModule.Support.Argument.Types.Select (auth);

        DelegateCommand.PublishMessage.Execute (messageModule);
      }
    } 
Exemplo n.º 3
0
    void ApplyDispatcher ()
    {
      var action = TEntityAction.Create (TCategory.Settings, TOperation.Change, TExtension.Settings);

      Model.Request (action);

      // to module
      var messageModule = new TFactoryMessage (TMessageAction.Request, TypeInfo);
      messageModule.Support.Argument.Types.Select (action);

      DelegateCommand.PublishMessage.Execute (messageModule);
    } 
Exemplo n.º 4
0
    public void Handle (TMessageInternal message)
    {
      if (message.NotNull ()) {

      }
      if (message.IsModule (TResource.TModule.Factory)) {
        // from child only
        if (message.Node.IsRelationChild) {
          // request
          if (message.IsAction (TInternalMessageAction.Request)) {
            // to module
            var messageModule = new TFactoryMessage (TMessageAction.Request, TypeInfo);
            messageModule.Node.SelectRelationModule (message.Node.Child, TModuleName.Factory);
            messageModule.Support.Argument.Types.CopyFrom (message.Support.Argument.Types);

            DelegateCommand.PublishMessage.Execute (messageModule);
          }

          // reload
          if (message.IsAction (TInternalMessageAction.Reload)) {
            // to module
            DelegateCommand.PublishMessage.Execute (new TFactoryMessage (TMessageAction.Reload, TypeInfo));
          }

          // navigateform
          if (message.IsAction (TInternalMessageAction.NavigateForm)) {
            // to module
            var messageModule = new TFactoryMessage (TMessageAction.Focus, TypeInfo);
            messageModule.Support.Argument.Args.Select (message.Support.Argument.Args.Where);

            DelegateCommand.PublishMessage.Execute (messageModule);
          }

          // edit enter
          if (message.IsAction (TInternalMessageAction.EditEnter)) {
            // to module
            DelegateCommand.PublishMessage.Execute (new TFactoryMessage (TMessageAction.EditEnter, TypeInfo));
          }

          // edit leave
          if (message.IsAction (TInternalMessageAction.EditLeave)) {
            // to module
            DelegateCommand.PublishMessage.Execute (new TFactoryMessage (TMessageAction.EditLeave, TypeInfo));
          }
        }
      }
    }