예제 #1
0
        protected dynamic CheckPathOperationActivityDebugInputOutput <T>(DsfNativeActivity <T> activity, string dataListShape,
                                                                         string dataListWithData, out List <DebugItem> inputResults, out List <DebugItem> outputResults, IPrincipal user = null)
        {
            TestStartNode = new FlowStep
            {
                Action = activity
            };

            TestData  = dataListWithData;
            CurrentDl = dataListShape;
            User      = user;
            if (DataObject.Environment == null)
            {
                DataObject.Environment = new ExecutionEnvironment();
            }
            var result = ExecuteProcess(null, true);

            inputResults  = null;
            outputResults = null;
            if (result != null)
            {
                inputResults  = activity.GetDebugInputs(result.Environment, 0);
                outputResults = activity.GetDebugOutputs(result.Environment, 0);
            }
            return(result);
        }
예제 #2
0
        protected dynamic CheckActivityDebugInputOutput <T>(DsfNativeActivity <T> activity, string dataListShape, string dataListWithData, out List <DebugItem> inputResults, out List <DebugItem> outputResults, bool isRemoteInvoke = false)
        {
            TestStartNode = new FlowStep
            {
                Action = activity
            };

            TestData  = dataListWithData;
            CurrentDl = dataListShape;
            if (DataObject.Environment == null)
            {
                DataObject.Environment = new ExecutionEnvironment();
            }

            inputResults  = null;
            outputResults = null;
            var result = ExecuteProcess(null, true, null, isRemoteInvoke);

            if (result != null)
            {
                inputResults  = activity.GetDebugInputs(result.Environment, 0);
                outputResults = activity.GetDebugOutputs(result.Environment, 0);
            }
            return(result);
        }
예제 #3
0
        /// <summary>
        /// Gets all the fields for a specific activity
        /// </summary>
        /// <param name="activity">The activity that the fields will be retrieved from</param>
        /// <returns>Returns all the fields in a list of strings</returns>
        public List <string> GetActivityFields(object activity)
        {
            List <string> results = new List <string>();
            Dev2FindMissingStrategyFactory stratFac        = new Dev2FindMissingStrategyFactory();
            DsfForEachActivity             forEachActivity = activity as DsfForEachActivity;

            if (forEachActivity != null)
            {
                IFindMissingStrategy strategy;
                enFindMissingType    findMissingType;
                var boolAct = forEachActivity.DataFunc.Handler as DsfNativeActivity <bool>;
                if (boolAct == null)
                {
                    DsfNativeActivity <string> stringAct = forEachActivity.DataFunc.Handler as DsfNativeActivity <string>;
                    if (stringAct != null)
                    {
                        findMissingType = stringAct.GetFindMissingType();
                        strategy        = stratFac.CreateFindMissingStrategy(findMissingType);
                        results.AddRange(strategy.GetActivityFields(stringAct));
                    }
                }
                else
                {
                    findMissingType = boolAct.GetFindMissingType();
                    strategy        = stratFac.CreateFindMissingStrategy(findMissingType);
                    results.AddRange(strategy.GetActivityFields(boolAct));
                }
            }

            IEnumerable <PropertyInfo> properties = StringAttributeRefectionUtils.ExtractAdornedProperties <FindMissingAttribute>(activity);

            foreach (PropertyInfo propertyInfo in properties)
            {
                object property = propertyInfo.GetValue(activity, null);
                if (property != null)
                {
                    results.Add(property.ToString());
                }
            }

            return(results);
        }
예제 #4
0
        public dynamic CheckPathOperationActivityDebugInputOutput <T>(DsfNativeActivity <T> activity, string dataListShape,
                                                                      string dataListWithData, out List <DebugItem> inputResults, out List <DebugItem> outputResults, IPrincipal user = null)
        {
            ErrorResultTO errors;

            TestStartNode = new FlowStep
            {
                Action = activity
            };

            TestData    = dataListWithData;
            CurrentDl   = dataListShape;
            User        = user;
            Compiler    = DataListFactory.CreateDataListCompiler();
            ExecutionId = Compiler.ConvertTo(DataListFormat.CreateFormat(GlobalConstants._XML), new StringBuilder(TestData), new StringBuilder(CurrentDl), out errors);
            IBinaryDataList dl     = Compiler.FetchBinaryDataList(ExecutionId, out errors);
            var             result = ExecuteProcess(null, true);

            inputResults  = activity.GetDebugInputs(dl);
            outputResults = activity.GetDebugOutputs(dl);

            return(result);
        }