hrntsm/STBDotNet

View on GitHub
STBDotNet/v140/StbWall.cs

Summary

Maintainability
A
0 mins
Test Coverage
using System.ComponentModel;
using System.Xml.Serialization;

namespace STBDotNet.v140
{
    public class StbSecWallRc : StbSection, IModel
    {
        [XmlAttribute("id")] public int Id { get; set; }
        [XmlAttribute("name")] public string Name { get; set; }
        [XmlAttribute("depth")] public double Depth { get; set; }
        [XmlAttribute("strength_concrete")] public string StrengthConcrete { get; set; }
        [XmlAttribute("depth_cover_outside")] [DefaultValue(0d)] public double DepthCoverOutside { get; set; }
        [XmlAttribute("depth_cover_inside")] [DefaultValue(0d)] public double DepthCoverInside { get; set; }
        // child element
        [XmlElement("StbSecBar_Arrangement")] public WallSecBarArrangement BarArrangement { get; set; }
    }

    public class WallSecBarArrangement
    {
        [XmlElement("StbSecSingle")] public Single[] SingleWall { get; set; }
        [XmlElement("StbSecZigzag")] public Zigzag[] ZigzagWall { get; set; }
        [XmlElement("StbSecDouble_Net")] public DoubleNet[] DoubleNetWall { get; set; }
        [XmlElement("StbSecInside_And_Outside")] public InsideAndOutSide[] InsideAndOutSideWall { get; set; }
        [XmlElement("StbSecWallEdge")] public Edge[] EdgeWall { get; set; }
        [XmlElement("StbSecOpen_Wall")] public OpenBar[] OpenWall { get; set; }

        public class Base
        {
            [XmlAttribute("pos")] public string Position { get; set; }
            [XmlAttribute("strength")] public string Strength { get; set; }
            [XmlAttribute("D")] public string D { get; set; }
        }

        public class Single : Base
        {
            [XmlAttribute("pitch")] public double Pitch { get; set; }
        }

        public class Zigzag : Single
        { }

        public class DoubleNet : Single
        { }

        public class InsideAndOutSide : Single
        {
            [XmlAttribute("pos2")] public string Position2 { get; set; }
        }

        public class Edge : Base
        {
            [XmlAttribute("count")] public int Count { get; set; }
        }

        public class OpenBar : Edge
        {
            [XmlAttribute("length")] public double Length { get; set; }
        }
    }
}