/// <summary>
        /// Initializes a new instance of the <see cref="LinePlusSingleStatProperties" /> class.
        /// </summary>
        /// <param name="timeFormat">timeFormat.</param>
        /// <param name="type">type (required).</param>
        /// <param name="queries">queries (required).</param>
        /// <param name="colors">Colors define color encoding of data into a visualization (required).</param>
        /// <param name="shape">shape (required).</param>
        /// <param name="note">note (required).</param>
        /// <param name="showNoteWhenEmpty">If true, will display note when empty (required).</param>
        /// <param name="axes">axes (required).</param>
        /// <param name="legend">legend (required).</param>
        /// <param name="xColumn">xColumn.</param>
        /// <param name="yColumn">yColumn.</param>
        /// <param name="shadeBelow">shadeBelow.</param>
        /// <param name="position">position (required).</param>
        /// <param name="prefix">prefix (required).</param>
        /// <param name="suffix">suffix (required).</param>
        /// <param name="decimalPlaces">decimalPlaces (required).</param>
        public LinePlusSingleStatProperties(string timeFormat = default(string), TypeEnum type = default(TypeEnum), List <DashboardQuery> queries = default(List <DashboardQuery>), List <DashboardColor> colors = default(List <DashboardColor>), ShapeEnum shape = default(ShapeEnum), string note = default(string), bool?showNoteWhenEmpty = default(bool?), Axes axes = default(Axes), Legend legend = default(Legend), string xColumn = default(string), string yColumn = default(string), bool?shadeBelow = default(bool?), PositionEnum position = default(PositionEnum), string prefix = default(string), string suffix = default(string), DecimalPlaces decimalPlaces = default(DecimalPlaces))
        {
            this.Type     = type;
            this.Shape    = shape;
            this.Position = position;

            // to ensure "queries" is required (not null)
            if (queries == null)
            {
                throw new InvalidDataException("queries is a required property for LinePlusSingleStatProperties and cannot be null");
            }
            else
            {
                this.Queries = queries;
            }
            // to ensure "colors" is required (not null)
            if (colors == null)
            {
                throw new InvalidDataException("colors is a required property for LinePlusSingleStatProperties and cannot be null");
            }
            else
            {
                this.Colors = colors;
            }

            // to ensure "note" is required (not null)
            if (note == null)
            {
                throw new InvalidDataException("note is a required property for LinePlusSingleStatProperties and cannot be null");
            }
            else
            {
                this.Note = note;
            }
            // to ensure "showNoteWhenEmpty" is required (not null)
            if (showNoteWhenEmpty == null)
            {
                throw new InvalidDataException("showNoteWhenEmpty is a required property for LinePlusSingleStatProperties and cannot be null");
            }
            else
            {
                this.ShowNoteWhenEmpty = showNoteWhenEmpty;
            }
            // to ensure "axes" is required (not null)
            if (axes == null)
            {
                throw new InvalidDataException("axes is a required property for LinePlusSingleStatProperties and cannot be null");
            }
            else
            {
                this.Axes = axes;
            }
            // to ensure "legend" is required (not null)
            if (legend == null)
            {
                throw new InvalidDataException("legend is a required property for LinePlusSingleStatProperties and cannot be null");
            }
            else
            {
                this.Legend = legend;
            }

            // to ensure "prefix" is required (not null)
            if (prefix == null)
            {
                throw new InvalidDataException("prefix is a required property for LinePlusSingleStatProperties and cannot be null");
            }
            else
            {
                this.Prefix = prefix;
            }
            // to ensure "suffix" is required (not null)
            if (suffix == null)
            {
                throw new InvalidDataException("suffix is a required property for LinePlusSingleStatProperties and cannot be null");
            }
            else
            {
                this.Suffix = suffix;
            }
            // to ensure "decimalPlaces" is required (not null)
            if (decimalPlaces == null)
            {
                throw new InvalidDataException("decimalPlaces is a required property for LinePlusSingleStatProperties and cannot be null");
            }
            else
            {
                this.DecimalPlaces = decimalPlaces;
            }
            this.TimeFormat = timeFormat;
            this.XColumn    = xColumn;
            this.YColumn    = yColumn;
            this.ShadeBelow = shadeBelow;
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="SingleStatViewProperties" /> class.
 /// </summary>
 /// <param name="type">type (required).</param>
 /// <param name="queries">queries (required).</param>
 /// <param name="colors">Colors define color encoding of data into a visualization (required).</param>
 /// <param name="shape">shape (required).</param>
 /// <param name="note">note (required).</param>
 /// <param name="showNoteWhenEmpty">if true, will display note when empty (required).</param>
 /// <param name="prefix">prefix (required).</param>
 /// <param name="suffix">suffix (required).</param>
 /// <param name="legend">legend (required).</param>
 /// <param name="decimalPlaces">decimalPlaces (required).</param>
 public SingleStatViewProperties(TypeEnum type = default(TypeEnum), List<DashboardQuery> queries = default(List<DashboardQuery>), List<DashboardColor> colors = default(List<DashboardColor>), ShapeEnum shape = default(ShapeEnum), string note = default(string), bool? showNoteWhenEmpty = default(bool?), string prefix = default(string), string suffix = default(string), Legend legend = default(Legend), DecimalPlaces decimalPlaces = default(DecimalPlaces)) : base()
 {
     // to ensure "type" is required (not null)
     if (type == null)
     {
         throw new InvalidDataException("type is a required property for SingleStatViewProperties and cannot be null");
     }
     else
     {
         this.Type = type;
     }
     // to ensure "queries" is required (not null)
     if (queries == null)
     {
         throw new InvalidDataException("queries is a required property for SingleStatViewProperties and cannot be null");
     }
     else
     {
         this.Queries = queries;
     }
     // to ensure "colors" is required (not null)
     if (colors == null)
     {
         throw new InvalidDataException("colors is a required property for SingleStatViewProperties and cannot be null");
     }
     else
     {
         this.Colors = colors;
     }
     // to ensure "shape" is required (not null)
     if (shape == null)
     {
         throw new InvalidDataException("shape is a required property for SingleStatViewProperties and cannot be null");
     }
     else
     {
         this.Shape = shape;
     }
     // to ensure "note" is required (not null)
     if (note == null)
     {
         throw new InvalidDataException("note is a required property for SingleStatViewProperties and cannot be null");
     }
     else
     {
         this.Note = note;
     }
     // to ensure "showNoteWhenEmpty" is required (not null)
     if (showNoteWhenEmpty == null)
     {
         throw new InvalidDataException("showNoteWhenEmpty is a required property for SingleStatViewProperties and cannot be null");
     }
     else
     {
         this.ShowNoteWhenEmpty = showNoteWhenEmpty;
     }
     // to ensure "prefix" is required (not null)
     if (prefix == null)
     {
         throw new InvalidDataException("prefix is a required property for SingleStatViewProperties and cannot be null");
     }
     else
     {
         this.Prefix = prefix;
     }
     // to ensure "suffix" is required (not null)
     if (suffix == null)
     {
         throw new InvalidDataException("suffix is a required property for SingleStatViewProperties and cannot be null");
     }
     else
     {
         this.Suffix = suffix;
     }
     // to ensure "legend" is required (not null)
     if (legend == null)
     {
         throw new InvalidDataException("legend is a required property for SingleStatViewProperties and cannot be null");
     }
     else
     {
         this.Legend = legend;
     }
     // to ensure "decimalPlaces" is required (not null)
     if (decimalPlaces == null)
     {
         throw new InvalidDataException("decimalPlaces is a required property for SingleStatViewProperties and cannot be null");
     }
     else
     {
         this.DecimalPlaces = decimalPlaces;
     }
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="TableViewProperties" /> class.
        /// </summary>
        /// <param name="type">type (required).</param>
        /// <param name="queries">queries (required).</param>
        /// <param name="colors">Colors define color encoding of data into a visualization (required).</param>
        /// <param name="shape">shape (required).</param>
        /// <param name="note">note (required).</param>
        /// <param name="showNoteWhenEmpty">If true, will display note when empty (required).</param>
        /// <param name="tableOptions">tableOptions (required).</param>
        /// <param name="fieldOptions">fieldOptions represent the fields retrieved by the query with customization options (required).</param>
        /// <param name="timeFormat">timeFormat describes the display format for time values according to moment.js date formatting (required).</param>
        /// <param name="decimalPlaces">decimalPlaces (required).</param>
        public TableViewProperties(TypeEnum type = default(TypeEnum), List <DashboardQuery> queries = default(List <DashboardQuery>), List <DashboardColor> colors = default(List <DashboardColor>), ShapeEnum shape = default(ShapeEnum), string note = default(string), bool?showNoteWhenEmpty = default(bool?), Object tableOptions = default(Object), List <RenamableField> fieldOptions = default(List <RenamableField>), string timeFormat = default(string), DecimalPlaces decimalPlaces = default(DecimalPlaces)) : base()
        {
            this.Type = type;

            // to ensure "queries" is required (not null)
            if (queries == null)
            {
                throw new InvalidDataException("queries is a required property for TableViewProperties and cannot be null");
            }
            else
            {
                this.Queries = queries;
            }
            // to ensure "colors" is required (not null)
            if (colors == null)
            {
                throw new InvalidDataException("colors is a required property for TableViewProperties and cannot be null");
            }
            else
            {
                this.Colors = colors;
            }

            this.Shape = shape;

            // to ensure "note" is required (not null)
            if (note == null)
            {
                throw new InvalidDataException("note is a required property for TableViewProperties and cannot be null");
            }
            else
            {
                this.Note = note;
            }
            // to ensure "showNoteWhenEmpty" is required (not null)
            if (showNoteWhenEmpty == null)
            {
                throw new InvalidDataException("showNoteWhenEmpty is a required property for TableViewProperties and cannot be null");
            }
            else
            {
                this.ShowNoteWhenEmpty = showNoteWhenEmpty;
            }
            // to ensure "tableOptions" is required (not null)
            if (tableOptions == null)
            {
                throw new InvalidDataException("tableOptions is a required property for TableViewProperties and cannot be null");
            }
            else
            {
                this.TableOptions = tableOptions;
            }
            // to ensure "fieldOptions" is required (not null)
            if (fieldOptions == null)
            {
                throw new InvalidDataException("fieldOptions is a required property for TableViewProperties and cannot be null");
            }
            else
            {
                this.FieldOptions = fieldOptions;
            }
            // to ensure "timeFormat" is required (not null)
            if (timeFormat == null)
            {
                throw new InvalidDataException("timeFormat is a required property for TableViewProperties and cannot be null");
            }
            else
            {
                this.TimeFormat = timeFormat;
            }
            // to ensure "decimalPlaces" is required (not null)
            if (decimalPlaces == null)
            {
                throw new InvalidDataException("decimalPlaces is a required property for TableViewProperties and cannot be null");
            }
            else
            {
                this.DecimalPlaces = decimalPlaces;
            }
        }