public SeasonPage(SeasonItem item)
     : base()
 {
     this.seasonItem = item;
     //description
     this.Description = item.Description;
     //this.Filters = filter;
     this.Model = new Library.Code.V3.BrowseModel(this);
     this.Model.Pivots = new Choice(this, "desc", new ArrayListDataSet(this));
     base.CreateCommands();
     this.CreateTitleView();
 }
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            // Load JObject from stream
            JObject  jObject = JObject.Load(reader);
            BaseItem obj;

            var type = jObject["Type"].ToString();

            switch (type)
            {
            case "CollectionFolder":
                obj = new CollectionFolderItem();
                break;

            case "Folder":
                obj = new FolderItem();
                break;

            case "Movie":
                obj = new MovieItem();
                break;

            case "Episode":
                obj = new EpisodeItem();
                break;

            case "Audio":
                obj = new AudioItem();
                break;

            case "Series":
                obj = new SeriesItem();
                break;

            case "Season":
                obj = new SeasonItem();
                break;

            case "MusicAlbum":
                obj = new MusicAlbumItem();
                break;

            case "BoxSet":
                obj = new BoxSetItem();
                break;

            case "Actor":
            case "Director":
            case "Writer":
            case "Producer":
            case "Person":
                obj = new Person();
                break;

            default:
                obj = new BaseItem();
                break;
            }

            serializer.Populate(jObject.CreateReader(), obj);
            return(obj);
        }