using MediaBrowser.Model.Entities;
namespace MediaBrowser.Model.Querying
{
    /// 
    /// Class ItemsByNameQuery
    /// 
    public class ItemsByNameQuery
    {
        /// 
        /// Gets or sets the user id.
        /// 
        /// The user id.
        public string UserId { get; set; }
        /// 
        /// Gets or sets the start index.
        /// 
        /// The start index.
        public int? StartIndex { get; set; }
        /// 
        /// Gets or sets the size of the page.
        /// 
        /// The size of the page.
        public int? Limit { get; set; }
        /// 
        /// Gets or sets a value indicating whether this  is recursive.
        /// 
        /// true if recursive; otherwise, false.
        public bool Recursive { get; set; }
        /// 
        /// Gets or sets the sort order.
        /// 
        /// The sort order.
        public SortOrder? SortOrder { get; set; }
        /// 
        /// Gets or sets the parent id.
        /// 
        /// The parent id.
        public string ParentId { get; set; }
        /// 
        /// Fields to return within the items, in addition to basic information
        /// 
        /// The fields.
        public ItemFields[] Fields { get; set; }
        /// 
        /// Gets or sets the exclude item types.
        /// 
        /// The exclude item types.
        public string[] ExcludeItemTypes { get; set; }
        /// 
        /// Gets or sets the include item types.
        /// 
        /// The include item types.
        public string[] IncludeItemTypes { get; set; }
        /// 
        /// Gets or sets the media types.
        /// 
        /// The media types.
        public string[] MediaTypes { get; set; }
        /// 
        /// What to sort the results by
        /// 
        /// The sort by.
        public string[] SortBy { get; set; }
        /// 
        /// Initializes a new instance of the  class.
        /// 
        public ItemsByNameQuery()
        {
            Fields = new ItemFields[] {};
            Recursive = true;
            MediaTypes = new string[] { };
            SortBy = new string[] { };
            ExcludeItemTypes = new string[] { };
            IncludeItemTypes = new string[] { };
        }
    }
}