Пример #1
0
        public void TestAttributesAndValues()
        {
            // Arrange
            String expectedXml =
                "<flavor name='Test-Driven Development'>" +
                "<requirements>" +
                "<requirement type='hardware'>" +
                "1 computer for every 2 participants" +
                "</requirement>" +
                "<requirement type='software'>" +
                "IDE" +
                "</requirement>" +
                "</requirements>" +
                "</flavor>";

            // Act
            TagBuilder builder = new TagBuilder("flavor");

            builder.AddAttribute("name", "Test-Driven Development");
            builder.AddChild("requirements");
            builder.AddToParent("requirements", "requirement");
            builder.AddAttribute("type", "hardware");
            builder.AddValue("1 computer for every 2 participants");
            builder.AddToParent("requirements", "requirement");
            builder.AddAttribute("type", "software");
            builder.AddValue("IDE");

            String actualXml = builder.ToXml();

            // Assert
            Assert.AreEqual(expectedXml, actualXml);
        }
Пример #2
0
        private void BuildButton(StringBuilder builder, string type, string id, string click, string value)
        {
            TagBuilder.Begin(builder, "input");
            TagBuilder.AddType(builder, type);
            TagBuilder.AddId(builder, id);

            if (!string.IsNullOrWhiteSpace(click))
            {
                TagBuilder.AddAttribute(builder, "onclick", click);
            }

            if (!string.IsNullOrWhiteSpace(this.ButtonCssClass))
            {
                TagBuilder.AddClass(builder, this.ButtonCssClass);
            }

            TagBuilder.AddValue(builder, value);
            TagBuilder.Close(builder, true);
        }
Пример #3
0
        public void TestToStringBufferSize()
        {
            // Arrange
            String expectedXml =
                "<requirements>" +
                "<requirement type='software'>" +
                "IDE" +
                "</requirement>" +
                "</requirements>";

            // Act
            TagBuilder builder = new TagBuilder("requirements");

            builder.AddChild("requirement");
            builder.AddAttribute("type", "software");
            builder.AddValue("IDE");

            Int32 stringSize   = builder.ToXml().Length;
            Int32 computedSize = builder.BufferSize();

            // Assert
            Assert.AreEqual(stringSize, computedSize);
        }
Пример #4
0
        public override string Get()
        {
            if (string.IsNullOrWhiteSpace(this.FieldConfig.ColumnName))
            {
                return(string.Empty);
            }

            StringBuilder textBox = new StringBuilder();
            string        type    = "text";


            bool isPasswordField = this.FieldConfig.ColumnName.ToUpperInvariant().Equals("PASSWORD");

            TagBuilder.Begin(textBox, "input");
            TagBuilder.AddId(textBox, this.FieldConfig.ColumnName);
            TagBuilder.AddAttribute(textBox, "data-scrud", "text");

            if (isPasswordField && this.FieldConfig.IsDisabled)
            {
                type = "password";
                this.FieldConfig.DefaultValue = "fake-password";
            }

            if (this.FieldConfig.IsDisabled)
            {
                textBox.Append(" readonly='readonly'");
            }

            if (!string.IsNullOrWhiteSpace(this.ValidationType))
            {
                TagBuilder.AddAttribute(textBox, "data-vtype", this.ValidationType);
            }


            TagBuilder.AddType(textBox, type);

            if (this.FieldConfig.DataType.ToUpperInvariant().Equals("COLOR"))
            {
                TagBuilder.AddClass(textBox, "color");
            }

            if (!this.FieldConfig.DefaultValue.StartsWith("nextVal", StringComparison.OrdinalIgnoreCase))
            {
                if (this.ValidationType == "date")
                {
                    DateTime date = Conversion.TryCastDate(this.FieldConfig.DefaultValue);

                    if (date != DateTime.MinValue)
                    {
                        TagBuilder.AddValue(textBox, date.Date == date ? date.ToString("d") : date.ToString("f"));
                    }

                    TagBuilder.AddClass(textBox, "date");
                }
                else
                {
                    TagBuilder.AddValue(textBox, this.FieldConfig.DefaultValue);
                }
            }


            if (!this.FieldConfig.IsNullable)
            {
                TagBuilder.AddRequired(textBox);
            }

            if (this.FieldConfig.MaxLength > 0)
            {
                TagBuilder.AddAttribute(textBox, "maxlength", this.FieldConfig.MaxLength);
            }

            TagBuilder.Close(textBox, true);

            return(textBox.ToString());
        }
Пример #5
0
        public override string Get()
        {
            StringBuilder rows = new StringBuilder();

            TagBuilder.Begin(rows, "tbody", true);

            for (int i = 0; i < this.Table.Rows.Count; i++)
            {
                DataRow row      = this.Table.Rows[i];
                string  keyValue = row[this.Config.KeyColumn].ToString();

                TagBuilder.Begin(rows, "tr", true);

                TagBuilder.Begin(rows, "td", true);

                TagBuilder.Begin(rows, "input");
                TagBuilder.AddType(rows, "radio");
                TagBuilder.AddId(rows, "SelectRadio" + keyValue);
                TagBuilder.AddValue(rows, keyValue);

                TagBuilder.Close(rows, true);

                TagBuilder.EndTag(rows, "td");


                foreach (Column column in this.Columns)
                {
                    TagBuilder.Begin(rows, "td");

                    switch (column.Type.FullName)
                    {
                    case "System.Decimal":
                    case "System.Double":
                    case "System.Single":
                        TagBuilder.AddClass(rows, "text right");
                        TagBuilder.Close(rows);

                        decimal value = Conversion.TryCastDecimal(row[column.ColumnName]);

                        if (!value.Equals(0))
                        {
                            rows.Append(value.ToString("N", CultureInfo.CurrentCulture));
                        }

                        break;

                    case "System.DateTime":
                        TagBuilder.AddClass(rows, "text right");
                        TagBuilder.Close(rows);

                        DateTime date = Conversion.TryCastDate(row[column.ColumnName]);

                        rows.Append(date.Date == date
                                ? Conversion.TryCastDate(date).ToString("D", CultureInfo.CurrentCulture)
                                : Conversion.TryCastDate(date).ToString("F", CultureInfo.CurrentCulture));

                        break;

                    default:
                        TagBuilder.Close(rows);
                        rows.Append(HttpUtility.HtmlEncode(row[column.ColumnName]));
                        break;
                    }

                    TagBuilder.EndTag(rows, "td");
                }

                TagBuilder.EndTag(rows, "tr");
            }

            TagBuilder.EndTag(rows, "tbody");

            return(rows.ToString());
        }