//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.42000
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace Nequeo.Net.Search.Microsoft.Cognitive.Images
{
    using System;
    using System.Threading;
    using System.Collections;
    using System.Collections.Generic;
    
    
    #region Instrumentation Data Type
    /// <summary>
    /// The instrumentation data object class.
    /// </summary>
    public partial class Instrumentation
    {
        
        private string _PageLoadPingUrl;
        
        #region Extensibility Method Definitions
        /// <summary>
        /// On create data entity.
        /// </summary>
		partial void OnCreated();

        /// <summary>
        /// On load data entity.
        /// </summary>
		partial void OnLoaded();

		#endregion
        
        /// <summary>
        /// Default constructor.
        /// </summary>
        public Instrumentation()
        {
            OnCreated();
        }
        
        /// <summary>
        /// Gets or sets, the pageloadpingurl property for the object.
        /// </summary>
        public string PageLoadPingUrl
        {
            get
            {
                return this._PageLoadPingUrl;
            }
            set
            {
                this._PageLoadPingUrl = value;
            }
        }
    }
    #endregion
    
    #region Thumbnail Data Type
    /// <summary>
    /// The thumbnail data object class.
    /// </summary>
    public partial class Thumbnail
    {
        
        private System.Nullable<System.Int32> _Width;
        
        private System.Nullable<System.Int32> _Height;
        
        #region Extensibility Method Definitions
        /// <summary>
        /// On create data entity.
        /// </summary>
		partial void OnCreated();

        /// <summary>
        /// On load data entity.
        /// </summary>
		partial void OnLoaded();

		#endregion
        
        /// <summary>
        /// Default constructor.
        /// </summary>
        public Thumbnail()
        {
            OnCreated();
        }
        
        /// <summary>
        /// Gets or sets, the width property for the object.
        /// </summary>
        public System.Nullable<System.Int32> Width
        {
            get
            {
                return this._Width;
            }
            set
            {
                this._Width = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the height property for the object.
        /// </summary>
        public System.Nullable<System.Int32> Height
        {
            get
            {
                return this._Height;
            }
            set
            {
                this._Height = value;
            }
        }
    }
    #endregion
    
    #region InsightsSourcesSummary Data Type
    /// <summary>
    /// The insightssourcessummary data object class.
    /// </summary>
    public partial class InsightsSourcesSummary
    {
        
        private System.Nullable<System.Int32> _ShoppingSourcesCount;
        
        private System.Nullable<System.Int32> _RecipeSourcesCount;
        
        #region Extensibility Method Definitions
        /// <summary>
        /// On create data entity.
        /// </summary>
		partial void OnCreated();

        /// <summary>
        /// On load data entity.
        /// </summary>
		partial void OnLoaded();

		#endregion
        
        /// <summary>
        /// Default constructor.
        /// </summary>
        public InsightsSourcesSummary()
        {
            OnCreated();
        }
        
        /// <summary>
        /// Gets or sets, the shoppingsourcescount property for the object.
        /// </summary>
        public System.Nullable<System.Int32> ShoppingSourcesCount
        {
            get
            {
                return this._ShoppingSourcesCount;
            }
            set
            {
                this._ShoppingSourcesCount = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the recipesourcescount property for the object.
        /// </summary>
        public System.Nullable<System.Int32> RecipeSourcesCount
        {
            get
            {
                return this._RecipeSourcesCount;
            }
            set
            {
                this._RecipeSourcesCount = value;
            }
        }
    }
    #endregion
    
    #region Values Data Type
    /// <summary>
    /// The values data object class.
    /// </summary>
    public partial class Values
    {
        
        private string _Name;
        
        private string _WebSearchUrl;
        
        private string _ThumbnailUrl;
        
        private object _DatePublished;
        
        private string _ContentUrl;
        
        private string _HostPageUrl;
        
        private string _ContentSize;
        
        private string _EncodingFormat;
        
        private string _HostPageDisplayUrl;
        
        private System.Nullable<System.Int32> _Width;
        
        private System.Nullable<System.Int32> _Height;
        
        private Thumbnail _Thumbnail;
        
        private string _ImageInsightsToken;
        
        private InsightsSourcesSummary _InsightsSourcesSummary;
        
        private string _ImageId;
        
        private string _AccentColor;
        
        #region Extensibility Method Definitions
        /// <summary>
        /// On create data entity.
        /// </summary>
		partial void OnCreated();

        /// <summary>
        /// On load data entity.
        /// </summary>
		partial void OnLoaded();

		#endregion
        
        /// <summary>
        /// Default constructor.
        /// </summary>
        public Values()
        {
            OnCreated();
        }
        
        /// <summary>
        /// Gets or sets, the name property for the object.
        /// </summary>
        public string Name
        {
            get
            {
                return this._Name;
            }
            set
            {
                this._Name = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the websearchurl property for the object.
        /// </summary>
        public string WebSearchUrl
        {
            get
            {
                return this._WebSearchUrl;
            }
            set
            {
                this._WebSearchUrl = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the thumbnailurl property for the object.
        /// </summary>
        public string ThumbnailUrl
        {
            get
            {
                return this._ThumbnailUrl;
            }
            set
            {
                this._ThumbnailUrl = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the datepublished property for the object.
        /// </summary>
        public object DatePublished
        {
            get
            {
                return this._DatePublished;
            }
            set
            {
                this._DatePublished = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the contenturl property for the object.
        /// </summary>
        public string ContentUrl
        {
            get
            {
                return this._ContentUrl;
            }
            set
            {
                this._ContentUrl = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the hostpageurl property for the object.
        /// </summary>
        public string HostPageUrl
        {
            get
            {
                return this._HostPageUrl;
            }
            set
            {
                this._HostPageUrl = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the contentsize property for the object.
        /// </summary>
        public string ContentSize
        {
            get
            {
                return this._ContentSize;
            }
            set
            {
                this._ContentSize = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the encodingformat property for the object.
        /// </summary>
        public string EncodingFormat
        {
            get
            {
                return this._EncodingFormat;
            }
            set
            {
                this._EncodingFormat = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the hostpagedisplayurl property for the object.
        /// </summary>
        public string HostPageDisplayUrl
        {
            get
            {
                return this._HostPageDisplayUrl;
            }
            set
            {
                this._HostPageDisplayUrl = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the width property for the object.
        /// </summary>
        public System.Nullable<System.Int32> Width
        {
            get
            {
                return this._Width;
            }
            set
            {
                this._Width = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the height property for the object.
        /// </summary>
        public System.Nullable<System.Int32> Height
        {
            get
            {
                return this._Height;
            }
            set
            {
                this._Height = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the thumbnail property for the object.
        /// </summary>
        public Thumbnail Thumbnail
        {
            get
            {
                return this._Thumbnail;
            }
            set
            {
                this._Thumbnail = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the imageinsightstoken property for the object.
        /// </summary>
        public string ImageInsightsToken
        {
            get
            {
                return this._ImageInsightsToken;
            }
            set
            {
                this._ImageInsightsToken = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the insightssourcessummary property for the object.
        /// </summary>
        public InsightsSourcesSummary InsightsSourcesSummary
        {
            get
            {
                return this._InsightsSourcesSummary;
            }
            set
            {
                this._InsightsSourcesSummary = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the imageid property for the object.
        /// </summary>
        public string ImageId
        {
            get
            {
                return this._ImageId;
            }
            set
            {
                this._ImageId = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the accentcolor property for the object.
        /// </summary>
        public string AccentColor
        {
            get
            {
                return this._AccentColor;
            }
            set
            {
                this._AccentColor = value;
            }
        }
    }
    #endregion
    
    #region Thumbnail2 Data Type
    /// <summary>
    /// The thumbnail2 data object class.
    /// </summary>
    public partial class Thumbnail2
    {
        
        private string _ThumbnailUrl;
        
        #region Extensibility Method Definitions
        /// <summary>
        /// On create data entity.
        /// </summary>
		partial void OnCreated();

        /// <summary>
        /// On load data entity.
        /// </summary>
		partial void OnLoaded();

		#endregion
        
        /// <summary>
        /// Default constructor.
        /// </summary>
        public Thumbnail2()
        {
            OnCreated();
        }
        
        /// <summary>
        /// Gets or sets, the thumbnailurl property for the object.
        /// </summary>
        public string ThumbnailUrl
        {
            get
            {
                return this._ThumbnailUrl;
            }
            set
            {
                this._ThumbnailUrl = value;
            }
        }
    }
    #endregion
    
    #region QueryExpansions Data Type
    /// <summary>
    /// The queryexpansions data object class.
    /// </summary>
    public partial class QueryExpansions
    {
        
        private string _Text;
        
        private string _DisplayText;
        
        private string _WebSearchUrl;
        
        private string _SearchLink;
        
        private Thumbnail2 _Thumbnail;
        
        #region Extensibility Method Definitions
        /// <summary>
        /// On create data entity.
        /// </summary>
		partial void OnCreated();

        /// <summary>
        /// On load data entity.
        /// </summary>
		partial void OnLoaded();

		#endregion
        
        /// <summary>
        /// Default constructor.
        /// </summary>
        public QueryExpansions()
        {
            OnCreated();
        }
        
        /// <summary>
        /// Gets or sets, the text property for the object.
        /// </summary>
        public string Text
        {
            get
            {
                return this._Text;
            }
            set
            {
                this._Text = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the displaytext property for the object.
        /// </summary>
        public string DisplayText
        {
            get
            {
                return this._DisplayText;
            }
            set
            {
                this._DisplayText = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the websearchurl property for the object.
        /// </summary>
        public string WebSearchUrl
        {
            get
            {
                return this._WebSearchUrl;
            }
            set
            {
                this._WebSearchUrl = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the searchlink property for the object.
        /// </summary>
        public string SearchLink
        {
            get
            {
                return this._SearchLink;
            }
            set
            {
                this._SearchLink = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the thumbnail property for the object.
        /// </summary>
        public Thumbnail2 Thumbnail
        {
            get
            {
                return this._Thumbnail;
            }
            set
            {
                this._Thumbnail = value;
            }
        }
    }
    #endregion
    
    #region Thumbnail3 Data Type
    /// <summary>
    /// The thumbnail3 data object class.
    /// </summary>
    public partial class Thumbnail3
    {
        
        private string _ThumbnailUrl;
        
        #region Extensibility Method Definitions
        /// <summary>
        /// On create data entity.
        /// </summary>
		partial void OnCreated();

        /// <summary>
        /// On load data entity.
        /// </summary>
		partial void OnLoaded();

		#endregion
        
        /// <summary>
        /// Default constructor.
        /// </summary>
        public Thumbnail3()
        {
            OnCreated();
        }
        
        /// <summary>
        /// Gets or sets, the thumbnailurl property for the object.
        /// </summary>
        public string ThumbnailUrl
        {
            get
            {
                return this._ThumbnailUrl;
            }
            set
            {
                this._ThumbnailUrl = value;
            }
        }
    }
    #endregion
    
    #region Suggestions Data Type
    /// <summary>
    /// The suggestions data object class.
    /// </summary>
    public partial class Suggestions
    {
        
        private string _Text;
        
        private string _DisplayText;
        
        private string _WebSearchUrl;
        
        private string _SearchLink;
        
        private Thumbnail3 _Thumbnail;
        
        #region Extensibility Method Definitions
        /// <summary>
        /// On create data entity.
        /// </summary>
		partial void OnCreated();

        /// <summary>
        /// On load data entity.
        /// </summary>
		partial void OnLoaded();

		#endregion
        
        /// <summary>
        /// Default constructor.
        /// </summary>
        public Suggestions()
        {
            OnCreated();
        }
        
        /// <summary>
        /// Gets or sets, the text property for the object.
        /// </summary>
        public string Text
        {
            get
            {
                return this._Text;
            }
            set
            {
                this._Text = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the displaytext property for the object.
        /// </summary>
        public string DisplayText
        {
            get
            {
                return this._DisplayText;
            }
            set
            {
                this._DisplayText = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the websearchurl property for the object.
        /// </summary>
        public string WebSearchUrl
        {
            get
            {
                return this._WebSearchUrl;
            }
            set
            {
                this._WebSearchUrl = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the searchlink property for the object.
        /// </summary>
        public string SearchLink
        {
            get
            {
                return this._SearchLink;
            }
            set
            {
                this._SearchLink = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the thumbnail property for the object.
        /// </summary>
        public Thumbnail3 Thumbnail
        {
            get
            {
                return this._Thumbnail;
            }
            set
            {
                this._Thumbnail = value;
            }
        }
    }
    #endregion
    
    #region PivotSuggestions Data Type
    /// <summary>
    /// The pivotsuggestions data object class.
    /// </summary>
    public partial class PivotSuggestions
    {
        
        private string _Pivot;
        
        private Suggestions[] _Suggestions;
        
        #region Extensibility Method Definitions
        /// <summary>
        /// On create data entity.
        /// </summary>
		partial void OnCreated();

        /// <summary>
        /// On load data entity.
        /// </summary>
		partial void OnLoaded();

		#endregion
        
        /// <summary>
        /// Default constructor.
        /// </summary>
        public PivotSuggestions()
        {
            OnCreated();
        }
        
        /// <summary>
        /// Gets or sets, the pivot property for the object.
        /// </summary>
        public string Pivot
        {
            get
            {
                return this._Pivot;
            }
            set
            {
                this._Pivot = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the suggestions property for the object.
        /// </summary>
        public Suggestions[] Suggestions
        {
            get
            {
                return this._Suggestions;
            }
            set
            {
                this._Suggestions = value;
            }
        }
    }
    #endregion
    
    #region Thumbnail4 Data Type
    /// <summary>
    /// The thumbnail4 data object class.
    /// </summary>
    public partial class Thumbnail4
    {
        
        private string _Url;
        
        #region Extensibility Method Definitions
        /// <summary>
        /// On create data entity.
        /// </summary>
		partial void OnCreated();

        /// <summary>
        /// On load data entity.
        /// </summary>
		partial void OnLoaded();

		#endregion
        
        /// <summary>
        /// Default constructor.
        /// </summary>
        public Thumbnail4()
        {
            OnCreated();
        }
        
        /// <summary>
        /// Gets or sets, the url property for the object.
        /// </summary>
        public string Url
        {
            get
            {
                return this._Url;
            }
            set
            {
                this._Url = value;
            }
        }
    }
    #endregion
    
    #region SimilarTerms Data Type
    /// <summary>
    /// The similarterms data object class.
    /// </summary>
    public partial class SimilarTerms
    {
        
        private string _Text;
        
        private string _DisplayText;
        
        private string _WebSearchUrl;
        
        private Thumbnail4 _Thumbnail;
        
        #region Extensibility Method Definitions
        /// <summary>
        /// On create data entity.
        /// </summary>
		partial void OnCreated();

        /// <summary>
        /// On load data entity.
        /// </summary>
		partial void OnLoaded();

		#endregion
        
        /// <summary>
        /// Default constructor.
        /// </summary>
        public SimilarTerms()
        {
            OnCreated();
        }
        
        /// <summary>
        /// Gets or sets, the text property for the object.
        /// </summary>
        public string Text
        {
            get
            {
                return this._Text;
            }
            set
            {
                this._Text = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the displaytext property for the object.
        /// </summary>
        public string DisplayText
        {
            get
            {
                return this._DisplayText;
            }
            set
            {
                this._DisplayText = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the websearchurl property for the object.
        /// </summary>
        public string WebSearchUrl
        {
            get
            {
                return this._WebSearchUrl;
            }
            set
            {
                this._WebSearchUrl = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the thumbnail property for the object.
        /// </summary>
        public Thumbnail4 Thumbnail
        {
            get
            {
                return this._Thumbnail;
            }
            set
            {
                this._Thumbnail = value;
            }
        }
    }
    #endregion
    
    #region CognitiveImagesSearchResults Data Type
    /// <summary>
    /// The cognitiveimagessearchresults data object class.
    /// </summary>
    public partial class CognitiveImagesSearchResults
    {
        
        private string _Type;
        
        private Instrumentation _Instrumentation;
        
        private string _WebSearchUrl;
        
        private System.Nullable<System.Int32> _TotalEstimatedMatches;
        
        private Values[] _Value;
        
        private QueryExpansions[] _QueryExpansions;
        
        private System.Nullable<System.Int32> _NextOffsetAddCount;
        
        private PivotSuggestions[] _PivotSuggestions;
        
        private System.Nullable<System.Boolean> _DisplayShoppingSourcesBadges;
        
        private System.Nullable<System.Boolean> _DisplayRecipeSourcesBadges;
        
        private SimilarTerms[] _SimilarTerms;
        
        #region Extensibility Method Definitions
        /// <summary>
        /// On create data entity.
        /// </summary>
		partial void OnCreated();

        /// <summary>
        /// On load data entity.
        /// </summary>
		partial void OnLoaded();

		#endregion
        
        /// <summary>
        /// Default constructor.
        /// </summary>
        public CognitiveImagesSearchResults()
        {
            OnCreated();
        }
        
        /// <summary>
        /// Gets or sets, the type property for the object.
        /// </summary>
        public string Type
        {
            get
            {
                return this._Type;
            }
            set
            {
                this._Type = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the instrumentation property for the object.
        /// </summary>
        public Instrumentation Instrumentation
        {
            get
            {
                return this._Instrumentation;
            }
            set
            {
                this._Instrumentation = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the websearchurl property for the object.
        /// </summary>
        public string WebSearchUrl
        {
            get
            {
                return this._WebSearchUrl;
            }
            set
            {
                this._WebSearchUrl = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the totalestimatedmatches property for the object.
        /// </summary>
        public System.Nullable<System.Int32> TotalEstimatedMatches
        {
            get
            {
                return this._TotalEstimatedMatches;
            }
            set
            {
                this._TotalEstimatedMatches = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the value property for the object.
        /// </summary>
        public Values[] Value
        {
            get
            {
                return this._Value;
            }
            set
            {
                this._Value = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the queryexpansions property for the object.
        /// </summary>
        public QueryExpansions[] QueryExpansions
        {
            get
            {
                return this._QueryExpansions;
            }
            set
            {
                this._QueryExpansions = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the nextoffsetaddcount property for the object.
        /// </summary>
        public System.Nullable<System.Int32> NextOffsetAddCount
        {
            get
            {
                return this._NextOffsetAddCount;
            }
            set
            {
                this._NextOffsetAddCount = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the pivotsuggestions property for the object.
        /// </summary>
        public PivotSuggestions[] PivotSuggestions
        {
            get
            {
                return this._PivotSuggestions;
            }
            set
            {
                this._PivotSuggestions = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the displayshoppingsourcesbadges property for the object.
        /// </summary>
        public System.Nullable<System.Boolean> DisplayShoppingSourcesBadges
        {
            get
            {
                return this._DisplayShoppingSourcesBadges;
            }
            set
            {
                this._DisplayShoppingSourcesBadges = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the displayrecipesourcesbadges property for the object.
        /// </summary>
        public System.Nullable<System.Boolean> DisplayRecipeSourcesBadges
        {
            get
            {
                return this._DisplayRecipeSourcesBadges;
            }
            set
            {
                this._DisplayRecipeSourcesBadges = value;
            }
        }
        
        /// <summary>
        /// Gets or sets, the similarterms property for the object.
        /// </summary>
        public SimilarTerms[] SimilarTerms
        {
            get
            {
                return this._SimilarTerms;
            }
            set
            {
                this._SimilarTerms = value;
            }
        }
    }
    #endregion
}
