Dev2.FindMissingStrategies.ForEachActivityFindMissingStrategy.GetActivityFields C# (CSharp) Method

GetActivityFields() public method

Gets all the fields for a specific activity
public GetActivityFields ( object activity ) : List
activity object The activity that the fields will be retrieved from
return List
        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;
        }
ForEachActivityFindMissingStrategy