Ejemplo n.º 1
0
        internal virtual ExecutionStep ExecuteInternal(ILogMethod method, Contracts.DTO.Freeform.IFreeformEntity_Msg request)
        {
            bool result = false;
            ExecutionStepPostTypes postType = ExecutionStepPostTypes.ProcessInExternalChannel;

            if (request is FFMsg_G2H)
            {
                postType = this.PostTypeG2H;
                if (postType == ExecutionStepPostTypes.ProcessInExternalChannel)
                {
                    result = _processMessageG2H(method, request as FFMsg_G2H);
                }
            }
            else if (request is FFMsg_H2G)
            {
                postType = this.PostTypeH2G;
                if (postType == ExecutionStepPostTypes.ProcessInExternalChannel)
                {
                    result = _processMessageH2G(method, request as FFMsg_H2G);
                }
            }

            if (postType != ExecutionStepPostTypes.ProcessInExternalChannel)
            {
                if (postType == ExecutionStepPostTypes.ProcessInCurrentChannel)
                {
                    result = this.PostMessageToProcessInCurrentChannel(method, request);
                }
                else if (postType == ExecutionStepPostTypes.PrepareAndProcessInExternalChannel)
                {
                    result = this.PostMessageToProcessInExternalChannel(method, request);
                }
                else if (postType == ExecutionStepPostTypes.ProcessCustom)
                {
                    result = this.OnProcessMessageCustom(method, request);
                }
            }

            this.ExecutionResult = result ? ExecutionStepResult.Success : ExecutionStepResult.Failed;
            return(this);
        }
 public override bool CanExecute(ExecutionStepKeyValue pair, Contracts.DTO.Freeform.IFreeformEntity_Msg request)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 3
0
 public override bool CanExecute(ExecutionStepKeyValue pair, Contracts.DTO.Freeform.IFreeformEntity_Msg request)
 {
     return(false);
 }