/// <summary>
        /// Get genre instances from combo box
        /// </summary>
        /// <returns>List of genres that are selected</returns>
        public GenreCollection GetSelectedGenres(out bool filterEnable)
        {
            // Get all genres
            GenreCollection allGenres = Organization.GetAllGenres(this.contentType);

            // Get selection string
            if (this.SelectedGenreFilter == null)
            {
                filterEnable = false;
                return(allGenres);
            }

            // Return all if selected
            if (this.SelectedGenreFilter.StartsWith("All"))
            {
                filterEnable = false;
                return(allGenres);
            }

            // Return single select genre as list
            GenreCollection genres = new GenreCollection(this.contentType);

            foreach (string genre in allGenres)
            {
                if (this.SelectedGenreFilter == genre)
                {
                    genres.Add(genre);
                    break;
                }
            }
            filterEnable = true;
            return(genres);
        }
        public async Task <Mediafile> CreateMediafile(Stream stream)
        {
            var   Mediafile = new Mediafile();
            ID3v2 Data      = new ID3v2(true, stream);

            Mediafile._id        = LiteDB.ObjectId.NewObjectId();
            Mediafile.Path       = Path;
            Mediafile.Title      = GetStringForNullOrEmptyProperty((await GetTextFrame(Data, "TIT2")), System.IO.Path.GetFileNameWithoutExtension(Path));
            Mediafile.LeadArtist = GetStringForNullOrEmptyProperty(await GetTextFrame(Data, "TPE1"), "Unknown Artist");
            Mediafile.Album      = GetStringForNullOrEmptyProperty(await GetTextFrame(Data, "TALB"), "Unknown Album");
            Mediafile.State      = PlayerState.Stopped;
            Mediafile.Genre      = (await GetTextFrame(Data, "TCON")).Remove(0, (await GetTextFrame(Data, "TCON")).IndexOf(')') + 1);
            Mediafile.Date       = DateTime.Now.Date.ToString("dd/MM/yyyy");
            if (Mediafile.Genre != null && Mediafile.Genre != "NaN")
            {
                Mediafile.Playlists.Add(new Playlist()
                {
                    Name = "Hello"
                });
                GenreCollection.Add(Mediafile.Genre);
            }
            if (Data.AttachedPictureFrames.Count > 0)
            {
                Mediafile.Playlists.Add(new Playlist()
                {
                    Name = "Top Songs"
                });
                //Mediafile.AttachedPicture = Data.AttachedPictureFrames[0].Picture;
                //SaveImages(Data);
                GC.Collect();
            }
            return(Mediafile);
        }
    protected void HanlderSaveUpdateGenre(object sender, EventArgs e)
    {
        var genres = new GenreCollection();
        var genre  = genres.Genre;

        genre.GenreCode   = txtGenreCode.Text;
        genre.Description = txtGenreDescription.Text;
        if (ddlGenre.SelectedIndex == 0)
        {
            if (txtGenreDescription.Text.Trim() != "")
            {
                genres.Add();
                FillDropDown();
            }
        }
        else
        {
            genres.Update();
            FillDropDown();
        }
    }
        /// <summary>
        /// Get genre instances from combo box
        /// </summary>
        /// <returns>List of genres that are selected</returns>
        public GenreCollection GetSelectedGenres(out bool filterEnable)
        {
            // Get all genres
            GenreCollection allGenres = Organization.GetAllGenres(this.contentType);

            // Get selection string
            if (this.SelectedGenreFilter == null)
            {
                filterEnable = false;
                return allGenres;
            }

            // Return all if selected
            if (this.SelectedGenreFilter.StartsWith("All"))
            {
                filterEnable = false;
                return allGenres;
            }

            // Return single select genre as list
            GenreCollection genres = new GenreCollection(this.contentType);
            foreach (string genre in allGenres)
                if (this.SelectedGenreFilter == genre)
                {
                    genres.Add(genre);
                    break;
                }
            filterEnable = true;
            return genres;
        }
        /// <summary>
        /// Get available genres from content 
        /// </summary>
        /// <param name="contents"></param>
        /// <returns></returns>
        public GenreCollection GetGenres()
        {
            GenreCollection genres = new GenreCollection(this.ContentType);

            switch (this.ContentType)
            {
                case ContentType.Movie:
                    for(int i=0;i<Organization.Movies.Count;i++)
                        foreach (string genre in Organization.Movies[i].DatabaseGenres)
                            if (!genres.Contains(genre))
                                genres.Add(genre);
                    break;
                case ContentType.TvShow:
                    for (int i = 0; i < Organization.Shows.Count; i++)
                        foreach (string genre in Organization.Shows[i].DatabaseGenres)
                            if (!genres.Contains(genre))
                                genres.Add(genre);
                    break;
            }

            return genres;
        }