示例#1
0
        public static RuleElementDto FromDomain(RuleActionDefinition definition)
        {
            var result = SimpleMapper.Map(definition, new RuleElementDto());

            result.Properties = definition.Properties.Select(x => SimpleMapper.Map(x, new RuleElementPropertyDto())).ToArray();

            return(result);
        }
示例#2
0
        public void Should_create_definition()
        {
            var expected = new RuleActionDefinition
            {
                Type        = typeof(MyRuleAction),
                IconImage   = "<svg></svg>",
                IconColor   = "#1e5470",
                Display     = "Action display",
                Description = "Action description.",
                ReadMore    = "https://www.readmore.com/"
            };

            expected.Properties.Add(new RuleActionProperty
            {
                Name          = "url",
                Display       = "Url Name",
                Description   = "Url Description",
                Editor        = RuleActionPropertyEditor.Url,
                IsFormattable = true,
                IsRequired    = true
            });

            expected.Properties.Add(new RuleActionProperty
            {
                Name        = "email",
                Display     = "Email",
                Description = null,
                Editor      = RuleActionPropertyEditor.Email,
                IsRequired  = false
            });

            expected.Properties.Add(new RuleActionProperty
            {
                Name        = "text",
                Display     = "Text",
                Description = null,
                Editor      = RuleActionPropertyEditor.Text,
                IsRequired  = false
            });

            expected.Properties.Add(new RuleActionProperty
            {
                Name        = "textMultiline",
                Display     = "TextMultiline",
                Description = null,
                Editor      = RuleActionPropertyEditor.TextArea,
                IsRequired  = false
            });

            expected.Properties.Add(new RuleActionProperty
            {
                Name        = "password",
                Display     = "Password",
                Description = null,
                Editor      = RuleActionPropertyEditor.Password,
                IsRequired  = false
            });

            expected.Properties.Add(new RuleActionProperty
            {
                Name        = "boolean",
                Display     = "Boolean",
                Description = null,
                Editor      = RuleActionPropertyEditor.Checkbox,
                IsRequired  = false
            });

            expected.Properties.Add(new RuleActionProperty
            {
                Name        = "booleanOptional",
                Display     = "BooleanOptional",
                Description = null,
                Editor      = RuleActionPropertyEditor.Checkbox,
                IsRequired  = false
            });

            expected.Properties.Add(new RuleActionProperty
            {
                Name        = "number",
                Display     = "Number",
                Description = null,
                Editor      = RuleActionPropertyEditor.Number,
                IsRequired  = true
            });

            expected.Properties.Add(new RuleActionProperty
            {
                Name        = "numberOptional",
                Display     = "NumberOptional",
                Description = null,
                Editor      = RuleActionPropertyEditor.Number,
                IsRequired  = false
            });

            sut.Add <MyRuleAction>();

            var currentDefinition = sut.Actions.Values.First();

            currentDefinition.Should().BeEquivalentTo(expected);
        }