using MediaBrowser.Controller.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MediaBrowser.Api.Reports
{
	///  A report header. 
	public class ReportHeader
	{
		///  Initializes a new instance of the ReportHeader class. 
		public ReportHeader()
		{
			ItemViewType = ItemViewType.None;
			Visible = true;
			CanGroup = true;
            ShowHeaderLabel = true;
            DisplayType = ReportDisplayType.ScreenExport;
		}
		///  Gets or sets the type of the header field. 
		///  The type of the header field. 
		public ReportFieldType HeaderFieldType { get; set; }
		///  Gets or sets the name of the header. 
		///  The name of the header. 
		public string Name { get; set; }
		///  Gets or sets the name of the field. 
		///  The name of the field. 
		public HeaderMetadata FieldName { get; set; }
		///  Gets or sets the sort field. 
		///  The sort field. 
		public string SortField { get; set; }
		///  Gets or sets the type. 
		///  The type. 
		public string Type { get; set; }
		///  Gets or sets the type of the item view. 
		///  The type of the item view. 
		public ItemViewType ItemViewType { get; set; }
		///  Gets or sets a value indicating whether this object is visible. 
		///  true if visible, false if not. 
		public bool Visible { get; set; }
        ///  Gets or sets the type of the display. 
        ///  The type of the display. 
        public ReportDisplayType DisplayType { get; set; }
        ///  Gets or sets a value indicating whether the header label is shown. 
        ///  true if show header label, false if not. 
        public bool ShowHeaderLabel { get; set; }
		///  Gets or sets a value indicating whether we can group. 
		///  true if we can group, false if not. 
		public bool CanGroup { get; set; }
	}
}