Dev2.DataList.ActivityDataMappingBuilder.SetupActivityData C# (CSharp) Method

SetupActivityData() public method

Setups the activity data.
public SetupActivityData ( IWebActivity activity ) : void
activity IWebActivity The activity.
return void
        public void SetupActivityData(IWebActivity activity)
        {
            if(activity != null)
            {
                SavedInputMapping = activity.SavedInputMapping;
                SavedOutputMapping = activity.SavedOutputMapping;
                ActivityType = activity.UnderlyingWebActivityObjectType;

                if(activity.ResourceModel != null)
                {
                    IsWorkflow = activity.ResourceModel.ResourceType == Studio.Core.AppResources.Enums.ResourceType.WorkflowService;

                    string inputs;
                    string outputs;

                    // handle workflows differently ;)
                    if(IsWorkflow)
                    {
                        //if (!activity.ResourceModel.Environment.IsLocalHost && !activity.ResourceModel.Environment.HasLoadedResources)
                        if(activity.IsNotAvailable())
                        {
                            inputs = activity.ResourceModel.Inputs;
                            outputs = activity.ResourceModel.Outputs;

                        }
                        else
                        {
                            var datalist = activity.ResourceModel.DataList;

                            inputs = DataListUtil.GenerateSerializableDefsFromDataList(datalist,
                                                                                   enDev2ColumnArgumentDirection.Input);
                            outputs = DataListUtil.GenerateSerializableDefsFromDataList(datalist,
                                                                                    enDev2ColumnArgumentDirection.Output);
                        }
                    }
                    else
                    {
                        // handle services ;)
                        inputs = activity.ResourceModel.Inputs;
                        outputs = activity.ResourceModel.Outputs;
                    }

                    ActivityInputDefinitions = inputs;
                    ActivityOutputDefinitions = outputs;
                }

            }
        }

Usage Example

// ReSharper disable InconsistentNaming
        public void ActivityDataMappingBuilder_SetupActivityData_WhenValidInputOutputMappingAndNoServiceDef_ExpectValidInputsAndOutputs()

        {
            //------------Setup for test--------------------------

            #region ServiceDef
            const string inputString = @"<Inputs><Input Name=""Rows"" Source=""Rows"" EmptyToNull=""false"" DefaultValue="""" /></Inputs>";
            const string outputString = @"<Outputs><Output Name=""BigID"" MapsTo=""BigID"" Value=""[[Row().BigID]]"" Recordset=""Row"" /><Output Name=""Column1"" MapsTo=""Column1"" Value=""[[Row().Column1]]"" Recordset=""Row"" /><Output Name=""Column2"" MapsTo=""Column2"" Value=""[[Row().Column2]]"" Recordset=""Row"" /><Output Name=""Column3"" MapsTo=""Column3"" Value=""[[Row().Column3]]"" Recordset=""Row"" /><Output Name=""Column4"" MapsTo=""Column4"" Value=""[[Row().Column4]]"" Recordset=""Row"" /><Output Name=""Column5"" MapsTo=""Column5"" Value=""[[Row().Column5]]"" Recordset=""Row"" /><Output Name=""Column6"" MapsTo=""Column6"" Value=""[[Row().Column6]]"" Recordset=""Row"" /><Output Name=""Column7"" MapsTo=""Column7"" Value=""[[Row().Column7]]"" Recordset=""Row"" /><Output Name=""Column8"" MapsTo=""Column8"" Value=""[[Row().Column8]]"" Recordset=""Row"" /><Output Name=""Column9"" MapsTo=""Column9"" Value=""[[Row().Column9]]"" Recordset=""Row"" /><Output Name=""Column10"" MapsTo=""Column10"" Value=""[[Row().Column10]]"" Recordset=""Row"" /></Outputs>";
            
            #endregion

            var activityDataMappingBuilder = new ActivityDataMappingBuilder();

            Mock<IContextualResourceModel> resourceModel = new Mock<IContextualResourceModel>();
            resourceModel.Setup(c => c.DataList).Returns("<DataList/>");

            Mock<IWebActivity> activity = new Mock<IWebActivity>();

            activity.Setup(c => c.SavedInputMapping).Returns(string.Empty);
            activity.Setup(c => c.SavedOutputMapping).Returns(string.Empty);
            activity.Setup(c => c.ResourceModel.Outputs).Returns(outputString);
            activity.Setup(c => c.ResourceModel.Inputs).Returns(inputString);            
            activity.Setup(c => c.ResourceModel.WorkflowXaml).Returns(new StringBuilder());
            activity.Setup(c => c.ResourceModel.ResourceType).Returns(ResourceType.Service);

            //------------Execute Test---------------------------

            activityDataMappingBuilder.SetupActivityData(activity.Object);

            //------------Assert Results-------------------------

            const string inputExpected = @"<Inputs><Input Name=""Rows"" Source=""Rows"" EmptyToNull=""false"" DefaultValue="""" /></Inputs>";
            const string outputExpected = @"<Outputs><Output Name=""BigID"" MapsTo=""BigID"" Value=""[[Row().BigID]]"" Recordset=""Row"" /><Output Name=""Column1"" MapsTo=""Column1"" Value=""[[Row().Column1]]"" Recordset=""Row"" /><Output Name=""Column2"" MapsTo=""Column2"" Value=""[[Row().Column2]]"" Recordset=""Row"" /><Output Name=""Column3"" MapsTo=""Column3"" Value=""[[Row().Column3]]"" Recordset=""Row"" /><Output Name=""Column4"" MapsTo=""Column4"" Value=""[[Row().Column4]]"" Recordset=""Row"" /><Output Name=""Column5"" MapsTo=""Column5"" Value=""[[Row().Column5]]"" Recordset=""Row"" /><Output Name=""Column6"" MapsTo=""Column6"" Value=""[[Row().Column6]]"" Recordset=""Row"" /><Output Name=""Column7"" MapsTo=""Column7"" Value=""[[Row().Column7]]"" Recordset=""Row"" /><Output Name=""Column8"" MapsTo=""Column8"" Value=""[[Row().Column8]]"" Recordset=""Row"" /><Output Name=""Column9"" MapsTo=""Column9"" Value=""[[Row().Column9]]"" Recordset=""Row"" /><Output Name=""Column10"" MapsTo=""Column10"" Value=""[[Row().Column10]]"" Recordset=""Row"" /></Outputs>";

            Assert.AreEqual(inputExpected, activityDataMappingBuilder.ActivityInputDefinitions);
            Assert.AreEqual(outputExpected, activityDataMappingBuilder.ActivityOutputDefinitions);
        }
All Usage Examples Of Dev2.DataList.ActivityDataMappingBuilder::SetupActivityData